check if listened before adding queries
This commit is contained in:
@@ -62,9 +62,11 @@ class SiteSearch extends HookConsumerWidget {
|
||||
final searchFocusNode = useFocusNode();
|
||||
|
||||
useListenableCallback(searchTextController, () {
|
||||
ref
|
||||
.read(searchSuggestionsProvider().notifier)
|
||||
.addQuery(searchTextController.text);
|
||||
if (ref.exists(searchSuggestionsProvider())) {
|
||||
ref
|
||||
.read(searchSuggestionsProvider().notifier)
|
||||
.addQuery(searchTextController.text);
|
||||
}
|
||||
});
|
||||
|
||||
final selectedBang = ref.watch(selectedBangDataProvider(domain: domain));
|
||||
|
||||
+7
-5
@@ -139,11 +139,13 @@ class _TabSheetHeader extends HookConsumerWidget {
|
||||
);
|
||||
|
||||
useListenableCallback(searchTextController, () async {
|
||||
await ref
|
||||
.read(
|
||||
tabSearchRepositoryProvider(TabSearchPartition.preview).notifier,
|
||||
)
|
||||
.addQuery(searchTextController.text);
|
||||
if (ref.exists(tabSearchRepositoryProvider(TabSearchPartition.preview))) {
|
||||
await ref
|
||||
.read(
|
||||
tabSearchRepositoryProvider(TabSearchPartition.preview).notifier,
|
||||
)
|
||||
.addQuery(searchTextController.text);
|
||||
}
|
||||
});
|
||||
|
||||
return Material(
|
||||
|
||||
@@ -68,9 +68,15 @@ class SearchSuggestions extends _$SearchSuggestions {
|
||||
final defaultProvider = ref.watch(defaultSearchSuggestionsProvider);
|
||||
final resolvedProvider = suggestionsProvider ?? defaultProvider;
|
||||
|
||||
_addQueryBinding = ref
|
||||
.watch(searchSuggestionsRepositoryProvider(resolvedProvider).notifier)
|
||||
.addQuery;
|
||||
_addQueryBinding = (value) {
|
||||
if (ref.exists(searchSuggestionsRepositoryProvider(resolvedProvider))) {
|
||||
ref
|
||||
.watch(
|
||||
searchSuggestionsRepositoryProvider(resolvedProvider).notifier,
|
||||
)
|
||||
.addQuery(value);
|
||||
}
|
||||
};
|
||||
|
||||
return ref.watch(searchSuggestionsRepositoryProvider(resolvedProvider));
|
||||
}
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ final class SearchSuggestionsProvider
|
||||
}
|
||||
}
|
||||
|
||||
String _$searchSuggestionsHash() => r'8d1fb72cab374491a53f7a814f87af6a26356f42';
|
||||
String _$searchSuggestionsHash() => r'e181fb417f6199648a7c6d8962b1f1d5a2cf7d27';
|
||||
|
||||
final class SearchSuggestionsFamily extends $Family
|
||||
with
|
||||
|
||||
+5
-3
@@ -61,9 +61,11 @@ class FixedSearchTermSuggestions extends HookConsumerWidget {
|
||||
final searchSuggestions = ref.watch(searchSuggestionsProvider());
|
||||
|
||||
useListenableCallback(searchTextController, () {
|
||||
ref
|
||||
.read(searchSuggestionsProvider().notifier)
|
||||
.addQuery(searchTextController.text);
|
||||
if (ref.exists(searchSuggestionsProvider())) {
|
||||
ref
|
||||
.read(searchSuggestionsProvider().notifier)
|
||||
.addQuery(searchTextController.text);
|
||||
}
|
||||
});
|
||||
|
||||
final prioritizedSuggestions = isSuggestableText
|
||||
|
||||
+5
-3
@@ -49,9 +49,11 @@ class HistorySuggestions extends HookConsumerWidget {
|
||||
final historySuggestionsAsync = ref.watch(engineHistorySuggestionsProvider);
|
||||
|
||||
useListenableCallback(searchTextListenable, () async {
|
||||
await ref
|
||||
.watch(engineSuggestionsProvider.notifier)
|
||||
.addQuery(searchTextListenable.value.text);
|
||||
if (ref.exists(engineSuggestionsProvider)) {
|
||||
await ref
|
||||
.watch(engineSuggestionsProvider.notifier)
|
||||
.addQuery(searchTextListenable.value.text);
|
||||
}
|
||||
});
|
||||
|
||||
if (historySuggestionsAsync.hasValue &&
|
||||
|
||||
+13
-9
@@ -68,15 +68,19 @@ class TabSearch extends HookConsumerWidget {
|
||||
.value;
|
||||
|
||||
useListenableCallback(searchTextListenable, () async {
|
||||
await ref
|
||||
.read(tabSearchRepositoryProvider(TabSearchPartition.search).notifier)
|
||||
.addQuery(
|
||||
searchTextListenable.value.text,
|
||||
// ignore: avoid_redundant_argument_values dont break things
|
||||
matchPrefix: _matchPrefix,
|
||||
// ignore: avoid_redundant_argument_values dont break things
|
||||
matchSuffix: _matchSuffix,
|
||||
);
|
||||
if (ref.exists(tabSearchRepositoryProvider(TabSearchPartition.search))) {
|
||||
await ref
|
||||
.read(
|
||||
tabSearchRepositoryProvider(TabSearchPartition.search).notifier,
|
||||
)
|
||||
.addQuery(
|
||||
searchTextListenable.value.text,
|
||||
// ignore: avoid_redundant_argument_values dont break things
|
||||
matchPrefix: _matchPrefix,
|
||||
// ignore: avoid_redundant_argument_values dont break things
|
||||
matchSuffix: _matchSuffix,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
if (tabs.isEmpty) {
|
||||
|
||||
Reference in New Issue
Block a user