fix: code-review findings — error handling, null safety, persist settings, auth header

This commit is contained in:
Dustin
2026-08-01 15:09:48 +02:00
parent 669a02304e
commit 4a05c76199
4 changed files with 40 additions and 9 deletions
+15 -1
View File
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../config/app_config.dart';
import '../utils/farb_theme.dart';
import 'cloud_screen.dart';
@@ -15,6 +16,17 @@ class SettingsScreen extends StatefulWidget {
class _SettingsScreenState extends State<SettingsScreen> {
bool _diagnose = AppConfig.sendeDiagnosedaten;
@override
void initState() {
super.initState();
_ladeDiagnose();
}
Future<void> _ladeDiagnose() async {
final p = await SharedPreferences.getInstance();
if (mounted) setState(() => _diagnose = p.getBool('diagnose_daten') ?? AppConfig.sendeDiagnosedaten);
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -84,9 +96,11 @@ class _SettingsScreenState extends State<SettingsScreen> {
),
value: _diagnose,
activeThumbColor: MeloTheme.rot,
onChanged: (v) {
onChanged: (v) async {
setState(() => _diagnose = v);
AppConfig.sendeDiagnosedaten = v;
final p = await SharedPreferences.getInstance();
p.setBool('diagnose_daten', v);
},
secondary: const Icon(Icons.bug_report_outlined, color: MeloTheme.rot, size: 22),
),