twonly-app/lib/src/providers/settings.provider.dart
2025-06-15 21:25:54 +02:00

29 lines
720 B
Dart

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:twonly/src/utils/storage.dart';
class SettingsChangeProvider with ChangeNotifier, DiagnosticableTreeMixin {
late ThemeMode _themeMode;
ThemeMode get themeMode => _themeMode;
Future<void> loadSettings() async {
_themeMode = (await getUser())?.themeMode ?? ThemeMode.system;
notifyListeners();
}
Future<void> updateThemeMode(ThemeMode? newThemeMode) async {
if (newThemeMode == null) return;
if (newThemeMode == _themeMode) return;
_themeMode = newThemeMode;
notifyListeners();
await updateUserdata((user) {
user.themeMode = newThemeMode;
return user;
});
}
}