at main 649 B view raw
1import 'package:flutter_riverpod/flutter_riverpod.dart'; 2 3import '../api.dart'; 4import '../models/profile.dart'; 5 6final actorSearchProvider = StateNotifierProvider<ActorSearchNotifier, Map<String, List<Profile>>>( 7 (ref) => ActorSearchNotifier(), 8); 9 10class ActorSearchNotifier extends StateNotifier<Map<String, List<Profile>>> { 11 ActorSearchNotifier() : super({}); 12 13 Future<List<Profile>> search(String query) async { 14 if (query.isEmpty) return []; 15 if (state.containsKey(query)) { 16 return state[query]!; 17 } 18 final results = await apiService.searchActors(query); 19 state = {...state, query: results}; 20 return results; 21 } 22}