main
dart 35 lines 826 Bytes
Raw
1 import 'package:flutter_riverpod/flutter_riverpod.dart';
2
3 final modelSearchQueryProvider = NotifierProvider<ModelSearchNotifier, String>(
4 ModelSearchNotifier.new,
5 );
6
7 class ModelSearchNotifier extends Notifier<String> {
8 @override
9 String build() => '';
10
11 void setQuery(String q) {
12 if (!ref.mounted) return;
13 state = q;
14 }
15
16 void clear() {
17 if (!ref.mounted) return;
18 state = '';
19 }
20 }
21
22 enum ModelSortOption { favorites, nameAsc, sizeAsc, sizeDesc, contextDesc }
23
24 final modelSortOptionProvider =
25 NotifierProvider<ModelSortNotifier, ModelSortOption>(ModelSortNotifier.new);
26
27 class ModelSortNotifier extends Notifier<ModelSortOption> {
28 @override
29 ModelSortOption build() => ModelSortOption.favorites;
30
31 void setOption(ModelSortOption option) {
32 if (!ref.mounted) return;
33 state = option;
34 }
35 }