import 'package:flutter/material.dart'; import 'package:fforte/l10n/app_localizations.dart'; import 'package:shared_preferences/shared_preferences.dart'; class Settings extends StatefulWidget { const Settings({super.key}); @override State createState() => _SettingsState(); } class _SettingsState extends State { int _trackingInterval = 60; @override void initState() { super.initState(); _loadSettings(); } Future _loadSettings() async { SharedPreferences prefs = await SharedPreferences.getInstance(); setState(() { _trackingInterval = prefs.getInt('trackingInterval') ?? 60; }); } Future _saveTrackingInterval(int value) async { SharedPreferences prefs = await SharedPreferences.getInstance(); await prefs.setInt('trackingInterval', value); setState(() { _trackingInterval = value; }); } Future _getSaveDir() async { SharedPreferences prefs = await SharedPreferences.getInstance(); final String saveDir = prefs.getString('saveDir') ?? ""; return saveDir; } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(AppLocalizations.of(context)!.settings),), body: Padding( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text(AppLocalizations.of(context)!.filelocation, style: const TextStyle(fontSize: 20),), FutureBuilder( future: _getSaveDir(), builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { return Text(snapshot.data ?? ""); } else { return const CircularProgressIndicator(); } } ), ElevatedButton( onPressed: () {}, child: Text(AppLocalizations.of(context)!.open) ), const SizedBox(height: 24), const Text( 'Tracking Interval (Sekunden)', style: TextStyle(fontSize: 20), ), Slider( value: _trackingInterval.toDouble(), min: 10, max: 300, divisions: 29, label: _trackingInterval.toString(), onChanged: (double value) { _saveTrackingInterval(value.round()); }, ), Text('Aktuelles Intervall: $_trackingInterval Sekunden'), ], ), ), ); } }