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
@@ -21,6 +21,7 @@ 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_group.dart';
import 'package:weblibre/features/bangs/data/models/bang_key.dart';
import 'package:weblibre/features/bangs/data/models/search_history_entry.dart';
import 'package:weblibre/features/bangs/domain/repositories/data.dart';
import 'package:weblibre/features/bangs/domain/repositories/sync.dart';
@@ -30,20 +31,20 @@ part 'bangs.g.dart';
@Riverpod(keepAlive: true)
Stream<BangData?> defaultSearchBangData(Ref ref) {
final trigger = ref.watch(
final key = ref.watch(
generalSettingsWithDefaultsProvider.select(
(value) => value.defaultSearchProvider,
),
);
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchBang(trigger);
return repository.watchBang(key);
}
@Riverpod()
Stream<BangData?> bangData(Ref ref, String trigger) {
Stream<BangData?> bangData(Ref ref, BangKey key) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
return repository.watchBang(trigger);
return repository.watchBang(key);
}
@Riverpod()
@@ -42,7 +42,7 @@ final class DefaultSearchBangDataProvider
}
String _$defaultSearchBangDataHash() =>
r'5fa3f588b57a82dd8fffb2082e495108a242ef72';
r'5f43b8989219cf3cb2f5ca65df351b6cb100427f';
@ProviderFor(bangData)
const bangDataProvider = BangDataFamily._();
@@ -53,7 +53,7 @@ final class BangDataProvider
with $FutureModifier<BangData?>, $StreamProvider<BangData?> {
const BangDataProvider._({
required BangDataFamily super.from,
required String super.argument,
required BangKey super.argument,
}) : super(
retry: null,
name: r'bangDataProvider',
@@ -79,7 +79,7 @@ final class BangDataProvider
@override
Stream<BangData?> create(Ref ref) {
final argument = this.argument as String;
final argument = this.argument as BangKey;
return bangData(ref, argument);
}
@@ -94,10 +94,10 @@ final class BangDataProvider
}
}
String _$bangDataHash() => r'b10d3a74e19d30fc372b9ecbf7146bccd9fdf83b';
String _$bangDataHash() => r'bd9f5ec8b29aab74620a9b5a4246cb7e3b2fd377';
final class BangDataFamily extends $Family
with $FunctionalFamilyOverride<Stream<BangData?>, String> {
with $FunctionalFamilyOverride<Stream<BangData?>, BangKey> {
const BangDataFamily._()
: super(
retry: null,
@@ -107,8 +107,8 @@ final class BangDataFamily extends $Family
isAutoDispose: true,
);
BangDataProvider call(String trigger) =>
BangDataProvider._(argument: trigger, from: this);
BangDataProvider call(BangKey key) =>
BangDataProvider._(argument: key, from: this);
@override
String toString() => r'bangDataProvider';
@@ -34,8 +34,9 @@ class BangSearch extends _$BangSearch {
Future<Uri> triggerBangSearch(BangData bang, String searchQuery) async {
final bangDataNotifier = ref.read(bangDataRepositoryProvider.notifier);
await bangDataNotifier.increaseFrequency(bang.trigger);
await bangDataNotifier.increaseFrequency(bang.group, bang.trigger);
await bangDataNotifier.addSearchEntry(
bang.group,
bang.trigger,
searchQuery,
maxEntryCount: 3,
@@ -33,7 +33,7 @@ final class BangSearchProvider
BangSearch create() => BangSearch();
}
String _$bangSearchHash() => r'6b7452d48698c01870c5c75f0c10cadaafc481c8';
String _$bangSearchHash() => r'66080335f1677e6a4636c41dd5619de3828375e6';
abstract class _$BangSearch extends $StreamNotifier<List<BangData>> {
Stream<List<BangData>> build();