import 'package:flutter/foundation.dart'; import 'persisted_setting.dart'; enum AppThemeMode { system, light, dark, schedule } class AppThemeModeConfig { static const prefKey = 'app_theme_mode'; static final _setting = PersistedEnum( prefKey: prefKey, defaultValue: AppThemeMode.system, encode: (mode) => mode.name, decode: _parse, ); static ValueNotifier get current => _setting.current; static Future load() => _setting.load(); static Future save(AppThemeMode mode) => _setting.save(mode); static AppThemeMode _parse(String? val) => enumFromName(AppThemeMode.values, val, AppThemeMode.system); static String label(AppThemeMode mode) { switch (mode) { case AppThemeMode.system: return 'Системная'; case AppThemeMode.light: return 'Светлая'; case AppThemeMode.dark: return 'Тёмная'; case AppThemeMode.schedule: return 'По расписанию'; } } }