refactor: migrate Phase 1 providers (2-7/10) to @riverpod

Migrated providers:
- selectedModelProvider → SelectedModel
- isManualModelSelectionProvider → IsManualModelSelection
- reviewerModeProvider → ReviewerMode
- isLoadingConversationProvider → IsLoadingConversation
- prefilledInputTextProvider → PrefilledInputText
- inputFocusTriggerProvider → InputFocusTrigger
- composerHasFocusProvider → ComposerHasFocus
- batchModeProvider → BatchMode
- reducedMotionProvider → ReducedMotion

All provider names unchanged, no breaking changes.
Build runner successful, analyzer passing.
Only 1 WARNING (keepAlive usage) and 2 INFO items remaining.
This commit is contained in:
cogwheel0
2025-09-30 14:31:56 +05:30
parent b5674e5b55
commit a63739db6b
4 changed files with 53 additions and 71 deletions

View File

@@ -615,17 +615,8 @@ final modelsProvider = FutureProvider<List<Model>>((ref) async {
}
});
final selectedModelProvider = NotifierProvider<SelectedModelNotifier, Model?>(
SelectedModelNotifier.new,
);
// Track if the current model selection is manual (user-selected) or automatic (default)
final isManualModelSelectionProvider =
NotifierProvider<IsManualModelSelectionNotifier, bool>(
IsManualModelSelectionNotifier.new,
);
class SelectedModelNotifier extends Notifier<Model?> {
@riverpod
class SelectedModel extends _$SelectedModel {
@override
Model? build() => null;
@@ -634,7 +625,9 @@ class SelectedModelNotifier extends Notifier<Model?> {
void clear() => state = null;
}
class IsManualModelSelectionNotifier extends Notifier<bool> {
// Track if the current model selection is manual (user-selected) or automatic (default)
@riverpod
class IsManualModelSelection extends _$IsManualModelSelection {
@override
bool build() => false;
@@ -1409,11 +1402,8 @@ final archivedConversationsProvider = Provider<List<Conversation>>((ref) {
});
// Reviewer mode provider (persisted)
final reviewerModeProvider = NotifierProvider<ReviewerModeNotifier, bool>(
ReviewerModeNotifier.new,
);
class ReviewerModeNotifier extends Notifier<bool> {
@riverpod
class ReviewerMode extends _$ReviewerMode {
late final OptimizedStorageService _storage;
bool _initialized = false;

View File

@@ -1,7 +1,11 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import '../../shared/theme/theme_extensions.dart';
part 'animation_service.g.dart';
/// Service for managing animations with performance optimization and accessibility
class AnimationService {
/// Get optimized animation duration based on context and settings
@@ -208,9 +212,13 @@ class AnimationService {
enum PageTransitionType { fade, slide, scale }
/// Provider for reduced motion preference
final reducedMotionProvider = NotifierProvider<ReducedMotionNotifier, bool>(
ReducedMotionNotifier.new,
);
@riverpod
class ReducedMotion extends _$ReducedMotion {
@override
bool build() => false;
void set(bool value) => state = value;
}
/// Provider for animation performance settings
final animationPerformanceProvider =
@@ -218,13 +226,6 @@ final animationPerformanceProvider =
AnimationPerformanceNotifier.new,
);
class ReducedMotionNotifier extends Notifier<bool> {
@override
bool build() => false;
void set(bool value) => state = value;
}
class AnimationPerformanceNotifier extends Notifier<AnimationPerformance> {
@override
AnimationPerformance build() => AnimationPerformance.adaptive;