refactor: migrate Phase 2 FutureProvider functions (5-15/15)

Migrated 11 more providers to @riverpod functions:
Core providers:
- userSettingsProvider → userSettings
- conversationSuggestionsProvider → conversationSuggestions
- userPermissionsProvider → userPermissions
- foldersProvider → folders
- userFilesProvider → userFiles
- knowledgeBasesProvider → knowledgeBases
- availableVoicesProvider → availableVoices
- imageModelsProvider → imageModels

Feature providers:
- promptsListProvider → promptsList
- toolsListProvider → toolsList

Bonus notifiers also migrated:
- activePromptCommandProvider → ActivePromptCommand
- selectedToolIdsProvider → SelectedToolIds

Phase 2 Complete! All 15 FutureProvider functions migrated.
All provider names unchanged, no breaking changes.
Analyzer passing, only pre-existing keepAlive warnings.
This commit is contained in:
cogwheel0
2025-09-30 14:39:22 +05:30
parent 083c65527d
commit dd96ddccb6
3 changed files with 41 additions and 40 deletions

View File

@@ -1,20 +1,19 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:conduit/core/models/prompt.dart';
import 'package:conduit/core/services/prompts_service.dart';
final promptsListProvider = FutureProvider<List<Prompt>>((ref) async {
part 'prompts_providers.g.dart';
@riverpod
Future<List<Prompt>> promptsList(Ref ref) async {
final promptsService = ref.watch(promptsServiceProvider);
if (promptsService == null) return const <Prompt>[];
return promptsService.getPrompts();
});
}
final activePromptCommandProvider =
NotifierProvider<ActivePromptCommandNotifier, String?>(
ActivePromptCommandNotifier.new,
);
class ActivePromptCommandNotifier extends Notifier<String?> {
@riverpod
class ActivePromptCommand extends _$ActivePromptCommand {
@override
String? build() => null;

View File

@@ -1,19 +1,19 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:conduit/core/models/tool.dart';
import 'package:conduit/core/services/tools_service.dart';
final toolsListProvider = FutureProvider<List<Tool>>((ref) async {
part 'tools_providers.g.dart';
@riverpod
Future<List<Tool>> toolsList(Ref ref) async {
final toolsService = ref.watch(toolsServiceProvider);
if (toolsService == null) return [];
return await toolsService.getTools();
});
}
final selectedToolIdsProvider =
NotifierProvider<SelectedToolIdsNotifier, List<String>>(
SelectedToolIdsNotifier.new,
);
class SelectedToolIdsNotifier extends Notifier<List<String>> {
@riverpod
class SelectedToolIds extends _$SelectedToolIds {
@override
List<String> build() => [];