diff --git a/lib/core/providers/app_providers.dart b/lib/core/providers/app_providers.dart index dff7d7a..30b58a4 100644 --- a/lib/core/providers/app_providers.dart +++ b/lib/core/providers/app_providers.dart @@ -68,11 +68,8 @@ final optimizedStorageServiceProvider = Provider(( }); // Theme provider -final themeModeProvider = NotifierProvider( - ThemeModeNotifier.new, -); - -class ThemeModeNotifier extends Notifier { +@riverpod +class AppThemeMode extends _$AppThemeMode { late final OptimizedStorageService _storage; @override @@ -95,11 +92,8 @@ class ThemeModeNotifier extends Notifier { } // Locale provider -final localeProvider = NotifierProvider( - LocaleNotifier.new, -); - -class LocaleNotifier extends Notifier { +@riverpod +class AppLocale extends _$AppLocale { late final OptimizedStorageService _storage; @override diff --git a/lib/features/profile/views/app_customization_page.dart b/lib/features/profile/views/app_customization_page.dart index b3b6fe9..26f7278 100644 --- a/lib/features/profile/views/app_customization_page.dart +++ b/lib/features/profile/views/app_customization_page.dart @@ -19,7 +19,7 @@ class AppCustomizationPage extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final settings = ref.watch(appSettingsProvider); - final themeMode = ref.watch(themeModeProvider); + final themeMode = ref.watch(appThemeModeProvider); final platformBrightness = MediaQuery.platformBrightnessOf(context); final themeDescription = () { if (themeMode == ThemeMode.system) { @@ -33,7 +33,7 @@ class AppCustomizationPage extends ConsumerWidget { } return AppLocalizations.of(context)!.currentlyUsingLightTheme; }(); - final locale = ref.watch(localeProvider); + final locale = ref.watch(appLocaleProvider); final currentLanguageCode = locale?.languageCode ?? 'system'; final languageLabel = _resolveLanguageLabel(context, currentLanguageCode); @@ -143,10 +143,10 @@ class AppCustomizationPage extends ConsumerWidget { ); if (selected == null) return; if (selected == 'system') { - await ref.read(localeProvider.notifier).setLocale(null); + await ref.read(appLocaleProvider.notifier).setLocale(null); } else { await ref - .read(localeProvider.notifier) + .read(appLocaleProvider.notifier) .setLocale(Locale(selected)); } }, @@ -289,7 +289,7 @@ class AppCustomizationPage extends ConsumerWidget { label: label, icon: icon, isSelected: isSelected, - onTap: () => ref.read(themeModeProvider.notifier).setTheme(mode), + onTap: () => ref.read(appThemeModeProvider.notifier).setTheme(mode), ); } diff --git a/lib/main.dart b/lib/main.dart index abd13ea..80a2b9b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -141,9 +141,9 @@ class _ConduitAppState extends ConsumerState { @override Widget build(BuildContext context) { - final themeMode = ref.watch(themeModeProvider.select((mode) => mode)); + final themeMode = ref.watch(appThemeModeProvider.select((mode) => mode)); final router = ref.watch(goRouterProvider); - final locale = ref.watch(localeProvider); + final locale = ref.watch(appLocaleProvider); return ErrorBoundary( child: MaterialApp.router(