swith to bang composite key

This commit is contained in:
Fabian Freund
2025-09-29 12:51:35 +02:00
parent d215aad3e4
commit 8c05eff173
29 changed files with 433 additions and 700 deletions
@@ -23,6 +23,7 @@ import 'package:nullability/nullability.dart';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:weblibre/features/bangs/data/models/bang_data.dart';
import 'package:weblibre/features/bangs/data/models/bang_key.dart';
import 'package:weblibre/features/bangs/domain/repositories/data.dart';
import 'package:weblibre/features/geckoview/domain/entities/states/tab.dart';
import 'package:weblibre/features/geckoview/domain/providers/tab_list.dart';
@@ -40,7 +41,7 @@ part 'providers.g.dart';
class SelectedBangTrigger extends _$SelectedBangTrigger {
// ignore: document_ignores api decision
// ignore: use_setters_to_change_properties
void setTrigger(String trigger) {
void setTrigger(BangKey trigger) {
state = trigger;
}
@@ -49,7 +50,7 @@ class SelectedBangTrigger extends _$SelectedBangTrigger {
}
@override
String? build({String? domain}) {
BangKey? build({String? domain}) {
return null;
}
}
@@ -13,7 +13,7 @@ part of 'providers.dart';
const selectedBangTriggerProvider = SelectedBangTriggerFamily._();
final class SelectedBangTriggerProvider
extends $NotifierProvider<SelectedBangTrigger, String?> {
extends $NotifierProvider<SelectedBangTrigger, BangKey?> {
const SelectedBangTriggerProvider._({
required SelectedBangTriggerFamily super.from,
required String? super.argument,
@@ -40,10 +40,10 @@ final class SelectedBangTriggerProvider
SelectedBangTrigger create() => SelectedBangTrigger();
/// {@macro riverpod.override_with_value}
Override overrideWithValue(String? value) {
Override overrideWithValue(BangKey? value) {
return $ProviderOverride(
origin: this,
providerOverride: $SyncValueProvider<String?>(value),
providerOverride: $SyncValueProvider<BangKey?>(value),
);
}
@@ -59,15 +59,15 @@ final class SelectedBangTriggerProvider
}
String _$selectedBangTriggerHash() =>
r'b0e12bc95e93d50d04f1c658230cea9f15ff0385';
r'162d053d0207b8b98549adc453111111d8ff69d6';
final class SelectedBangTriggerFamily extends $Family
with
$ClassFamilyOverride<
SelectedBangTrigger,
String?,
String?,
String?,
BangKey?,
BangKey?,
BangKey?,
String?
> {
const SelectedBangTriggerFamily._()
@@ -86,21 +86,21 @@ final class SelectedBangTriggerFamily extends $Family
String toString() => r'selectedBangTriggerProvider';
}
abstract class _$SelectedBangTrigger extends $Notifier<String?> {
abstract class _$SelectedBangTrigger extends $Notifier<BangKey?> {
late final _$args = ref.$arg as String?;
String? get domain => _$args;
String? build({String? domain});
BangKey? build({String? domain});
@$mustCallSuper
@override
void runBuild() {
final created = build(domain: _$args);
final ref = this.ref as $Ref<String?, String?>;
final ref = this.ref as $Ref<BangKey?, BangKey?>;
final element =
ref.element
as $ClassProviderElement<
AnyNotifier<String?, String?>,
String?,
AnyNotifier<BangKey?, BangKey?>,
BangKey?,
Object?,
Object?
>;
@@ -22,6 +22,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:nullability/nullability.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/bangs/data/models/bang_data.dart';
import 'package:weblibre/features/bangs/data/models/bang_key.dart';
import 'package:weblibre/features/bangs/domain/providers/search.dart';
import 'package:weblibre/features/geckoview/features/browser/domain/providers.dart';
import 'package:weblibre/presentation/hooks/listenable_callback.dart';
@@ -121,7 +122,7 @@ class BangChips extends HookConsumerWidget {
searchText: (searchText.isEmpty)
? BangSearchRoute.emptySearchText
: searchText!,
).push<String?>(context);
).push<BangKey?>(context);
if (trigger != null) {
ref
@@ -138,7 +138,7 @@ class FullSearchTermSuggestions extends HookConsumerWidget {
ref
.read(selectedBangTriggerProvider().notifier)
.setTrigger(bang.trigger);
.setTrigger(bang.toKey());
},
onDeleted: (bang) async {
if (ref.read(selectedBangTriggerProvider()) ==