selectable suggestion provider
This commit is contained in:
+24
-1
@@ -1,14 +1,37 @@
|
||||
import 'package:riverpod/riverpod.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:weblibre/features/geckoview/features/search/domain/repositories/search_suggestions.dart';
|
||||
import 'package:weblibre/features/search/domain/autosuggest/brave.dart';
|
||||
import 'package:weblibre/features/search/domain/autosuggest/duckduckgo.dart';
|
||||
import 'package:weblibre/features/search/domain/autosuggest/kagi.dart';
|
||||
import 'package:weblibre/features/search/domain/autosuggest/qwant.dart';
|
||||
import 'package:weblibre/features/search/domain/entities/abstract/i_search_suggestion_provider.dart';
|
||||
import 'package:weblibre/features/user/domain/repositories/general_settings.dart';
|
||||
|
||||
part 'search_suggestions.g.dart';
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
ISearchSuggestionProvider defaultSearchSuggestions(Ref ref) {
|
||||
return ref.watch(kagiAutosuggestServiceProvider.notifier);
|
||||
final provider = ref.watch(
|
||||
generalSettingsRepositoryProvider.select(
|
||||
(value) => value.defaultSearchSuggestionsProvider,
|
||||
),
|
||||
);
|
||||
|
||||
return switch (provider) {
|
||||
SearchSuggestionProviders.brave => ref.watch(
|
||||
braveAutosuggestServiceProvider.notifier,
|
||||
),
|
||||
SearchSuggestionProviders.ddg => ref.watch(
|
||||
duckDuckGoAutosuggestServiceProvider.notifier,
|
||||
),
|
||||
SearchSuggestionProviders.kagi => ref.watch(
|
||||
kagiAutosuggestServiceProvider.notifier,
|
||||
),
|
||||
SearchSuggestionProviders.qwant => ref.watch(
|
||||
qwantAutosuggestServiceProvider.notifier,
|
||||
),
|
||||
};
|
||||
}
|
||||
|
||||
@Riverpod()
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ part of 'search_suggestions.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$defaultSearchSuggestionsHash() =>
|
||||
r'56514064baa64acf0a28ec34cfad957dd863538b';
|
||||
r'e503757071dd29988cd25e360b56a5a646800d5b';
|
||||
|
||||
/// See also [defaultSearchSuggestions].
|
||||
@ProviderFor(defaultSearchSuggestions)
|
||||
|
||||
Reference in New Issue
Block a user