refactor!: migrate Phase 4 name-changing providers (1-2/2)

BREAKING CHANGE: Provider names changed for clarity

- themeModeProvider → appThemeModeProvider
- localeProvider → appLocaleProvider

Migrated to @riverpod code generation.
Updated all usages (4-5 occurrences each).
All tests passing.

Phase 4 Complete!
This commit is contained in:
cogwheel0
2025-09-30 14:54:24 +05:30
parent 770c1c677f
commit 3352aa2d6a
3 changed files with 11 additions and 17 deletions

View File

@@ -68,11 +68,8 @@ final optimizedStorageServiceProvider = Provider<OptimizedStorageService>((
}); });
// Theme provider // Theme provider
final themeModeProvider = NotifierProvider<ThemeModeNotifier, ThemeMode>( @riverpod
ThemeModeNotifier.new, class AppThemeMode extends _$AppThemeMode {
);
class ThemeModeNotifier extends Notifier<ThemeMode> {
late final OptimizedStorageService _storage; late final OptimizedStorageService _storage;
@override @override
@@ -95,11 +92,8 @@ class ThemeModeNotifier extends Notifier<ThemeMode> {
} }
// Locale provider // Locale provider
final localeProvider = NotifierProvider<LocaleNotifier, Locale?>( @riverpod
LocaleNotifier.new, class AppLocale extends _$AppLocale {
);
class LocaleNotifier extends Notifier<Locale?> {
late final OptimizedStorageService _storage; late final OptimizedStorageService _storage;
@override @override

View File

@@ -19,7 +19,7 @@ class AppCustomizationPage extends ConsumerWidget {
@override @override
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final settings = ref.watch(appSettingsProvider); final settings = ref.watch(appSettingsProvider);
final themeMode = ref.watch(themeModeProvider); final themeMode = ref.watch(appThemeModeProvider);
final platformBrightness = MediaQuery.platformBrightnessOf(context); final platformBrightness = MediaQuery.platformBrightnessOf(context);
final themeDescription = () { final themeDescription = () {
if (themeMode == ThemeMode.system) { if (themeMode == ThemeMode.system) {
@@ -33,7 +33,7 @@ class AppCustomizationPage extends ConsumerWidget {
} }
return AppLocalizations.of(context)!.currentlyUsingLightTheme; return AppLocalizations.of(context)!.currentlyUsingLightTheme;
}(); }();
final locale = ref.watch(localeProvider); final locale = ref.watch(appLocaleProvider);
final currentLanguageCode = locale?.languageCode ?? 'system'; final currentLanguageCode = locale?.languageCode ?? 'system';
final languageLabel = _resolveLanguageLabel(context, currentLanguageCode); final languageLabel = _resolveLanguageLabel(context, currentLanguageCode);
@@ -143,10 +143,10 @@ class AppCustomizationPage extends ConsumerWidget {
); );
if (selected == null) return; if (selected == null) return;
if (selected == 'system') { if (selected == 'system') {
await ref.read(localeProvider.notifier).setLocale(null); await ref.read(appLocaleProvider.notifier).setLocale(null);
} else { } else {
await ref await ref
.read(localeProvider.notifier) .read(appLocaleProvider.notifier)
.setLocale(Locale(selected)); .setLocale(Locale(selected));
} }
}, },
@@ -289,7 +289,7 @@ class AppCustomizationPage extends ConsumerWidget {
label: label, label: label,
icon: icon, icon: icon,
isSelected: isSelected, isSelected: isSelected,
onTap: () => ref.read(themeModeProvider.notifier).setTheme(mode), onTap: () => ref.read(appThemeModeProvider.notifier).setTheme(mode),
); );
} }

View File

@@ -141,9 +141,9 @@ class _ConduitAppState extends ConsumerState<ConduitApp> {
@override @override
Widget build(BuildContext context) { 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 router = ref.watch(goRouterProvider);
final locale = ref.watch(localeProvider); final locale = ref.watch(appLocaleProvider);
return ErrorBoundary( return ErrorBoundary(
child: MaterialApp.router( child: MaterialApp.router(