2023-12-01 12:56:24 +03:30
|
|
|
import 'package:hiddify/core/preferences/preferences_provider.dart';
|
|
|
|
|
import 'package:hiddify/core/theme/app_theme_mode.dart';
|
|
|
|
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
|
|
|
|
|
|
|
|
|
part 'theme_preferences.g.dart';
|
|
|
|
|
|
|
|
|
|
@Riverpod(keepAlive: true)
|
|
|
|
|
class ThemePreferences extends _$ThemePreferences {
|
|
|
|
|
@override
|
|
|
|
|
AppThemeMode build() {
|
2025-12-26 02:39:35 +03:00
|
|
|
final persisted = ref.watch(sharedPreferencesProvider).requireValue.getString("theme_mode");
|
2023-12-01 12:56:24 +03:30
|
|
|
if (persisted == null) return AppThemeMode.system;
|
|
|
|
|
return AppThemeMode.values.byName(persisted);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<void> changeThemeMode(AppThemeMode value) async {
|
|
|
|
|
state = value;
|
2025-12-26 02:39:35 +03:00
|
|
|
await ref.read(sharedPreferencesProvider).requireValue.setString("theme_mode", value.name);
|
2023-12-01 12:56:24 +03:30
|
|
|
}
|
|
|
|
|
}
|