filter bangs by categories

This commit is contained in:
Fabian Freund
2024-06-16 06:32:55 +02:00
parent 2993ca59ea
commit 04e8dc7c0e
10 changed files with 660 additions and 98 deletions
@@ -79,14 +79,15 @@ class SelectedBangTrigger extends _$SelectedBangTrigger {
}
@override
String? build() {
String? build({String? domain}) {
return null;
}
}
@Riverpod()
Stream<BangData?> selectedBangData(SelectedBangDataRef ref) {
Stream<BangData?> selectedBangData(SelectedBangDataRef ref, {String? domain}) {
final repository = ref.watch(bangDataRepositoryProvider.notifier);
final selectedBangTrigger = ref.watch(selectedBangTriggerProvider);
final selectedBangTrigger =
ref.watch(selectedBangTriggerProvider(domain: domain));
return repository.watchBang(selectedBangTrigger);
}
@@ -6,21 +6,156 @@ part of 'providers.dart';
// RiverpodGenerator
// **************************************************************************
String _$selectedBangDataHash() => r'619555a048e9d38602ceffa42dae1ba7d68ced89';
String _$selectedBangDataHash() => r'40dd3c51694394909fe83659ff3e19d51a06ec55';
/// Copied from Dart SDK
class _SystemHash {
_SystemHash._();
static int combine(int hash, int value) {
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + value);
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
return hash ^ (hash >> 6);
}
static int finish(int hash) {
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
// ignore: parameter_assignments
hash = hash ^ (hash >> 11);
return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
}
}
/// See also [selectedBangData].
@ProviderFor(selectedBangData)
final selectedBangDataProvider = AutoDisposeStreamProvider<BangData?>.internal(
selectedBangData,
name: r'selectedBangDataProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangDataHash,
dependencies: null,
allTransitiveDependencies: null,
);
const selectedBangDataProvider = SelectedBangDataFamily();
/// See also [selectedBangData].
class SelectedBangDataFamily extends Family<AsyncValue<BangData?>> {
/// See also [selectedBangData].
const SelectedBangDataFamily();
/// See also [selectedBangData].
SelectedBangDataProvider call({
String? domain,
}) {
return SelectedBangDataProvider(
domain: domain,
);
}
@override
SelectedBangDataProvider getProviderOverride(
covariant SelectedBangDataProvider provider,
) {
return call(
domain: provider.domain,
);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@override
Iterable<ProviderOrFamily>? get dependencies => _dependencies;
static const Iterable<ProviderOrFamily>? _allTransitiveDependencies = null;
@override
Iterable<ProviderOrFamily>? get allTransitiveDependencies =>
_allTransitiveDependencies;
@override
String? get name => r'selectedBangDataProvider';
}
/// See also [selectedBangData].
class SelectedBangDataProvider extends AutoDisposeStreamProvider<BangData?> {
/// See also [selectedBangData].
SelectedBangDataProvider({
String? domain,
}) : this._internal(
(ref) => selectedBangData(
ref as SelectedBangDataRef,
domain: domain,
),
from: selectedBangDataProvider,
name: r'selectedBangDataProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangDataHash,
dependencies: SelectedBangDataFamily._dependencies,
allTransitiveDependencies:
SelectedBangDataFamily._allTransitiveDependencies,
domain: domain,
);
SelectedBangDataProvider._internal(
super._createNotifier, {
required super.name,
required super.dependencies,
required super.allTransitiveDependencies,
required super.debugGetCreateSourceHash,
required super.from,
required this.domain,
}) : super.internal();
final String? domain;
@override
Override overrideWith(
Stream<BangData?> Function(SelectedBangDataRef provider) create,
) {
return ProviderOverride(
origin: this,
override: SelectedBangDataProvider._internal(
(ref) => create(ref as SelectedBangDataRef),
from: from,
name: null,
dependencies: null,
allTransitiveDependencies: null,
debugGetCreateSourceHash: null,
domain: domain,
),
);
}
@override
AutoDisposeStreamProviderElement<BangData?> createElement() {
return _SelectedBangDataProviderElement(this);
}
@override
bool operator ==(Object other) {
return other is SelectedBangDataProvider && other.domain == domain;
}
@override
int get hashCode {
var hash = _SystemHash.combine(0, runtimeType.hashCode);
hash = _SystemHash.combine(hash, domain.hashCode);
return _SystemHash.finish(hash);
}
}
mixin SelectedBangDataRef on AutoDisposeStreamProviderRef<BangData?> {
/// The parameter `domain` of this provider.
String? get domain;
}
class _SelectedBangDataProviderElement
extends AutoDisposeStreamProviderElement<BangData?>
with SelectedBangDataRef {
_SelectedBangDataProviderElement(super.provider);
@override
String? get domain => (origin as SelectedBangDataProvider).domain;
}
typedef SelectedBangDataRef = AutoDisposeStreamProviderRef<BangData?>;
String _$overlayDialogHash() => r'7a0376fff0ba12c70a257a47391e7c049dabd36d';
/// See also [OverlayDialog].
@@ -69,21 +204,146 @@ final bottomSheetExtendProvider =
typedef _$BottomSheetExtend = StreamNotifier<double>;
String _$selectedBangTriggerHash() =>
r'd110e4f8bd9d362e0cc54ee56a4f247d0870c760';
r'b0e12bc95e93d50d04f1c658230cea9f15ff0385';
abstract class _$SelectedBangTrigger extends BuildlessNotifier<String?> {
late final String? domain;
String? build({
String? domain,
});
}
/// See also [SelectedBangTrigger].
@ProviderFor(SelectedBangTrigger)
final selectedBangTriggerProvider =
NotifierProvider<SelectedBangTrigger, String?>.internal(
SelectedBangTrigger.new,
name: r'selectedBangTriggerProvider',
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangTriggerHash,
dependencies: null,
allTransitiveDependencies: null,
);
const selectedBangTriggerProvider = SelectedBangTriggerFamily();
typedef _$SelectedBangTrigger = Notifier<String?>;
/// See also [SelectedBangTrigger].
class SelectedBangTriggerFamily extends Family<String?> {
/// See also [SelectedBangTrigger].
const SelectedBangTriggerFamily();
/// See also [SelectedBangTrigger].
SelectedBangTriggerProvider call({
String? domain,
}) {
return SelectedBangTriggerProvider(
domain: domain,
);
}
@override
SelectedBangTriggerProvider getProviderOverride(
covariant SelectedBangTriggerProvider provider,
) {
return call(
domain: provider.domain,
);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@override
Iterable<ProviderOrFamily>? get dependencies => _dependencies;
static const Iterable<ProviderOrFamily>? _allTransitiveDependencies = null;
@override
Iterable<ProviderOrFamily>? get allTransitiveDependencies =>
_allTransitiveDependencies;
@override
String? get name => r'selectedBangTriggerProvider';
}
/// See also [SelectedBangTrigger].
class SelectedBangTriggerProvider
extends NotifierProviderImpl<SelectedBangTrigger, String?> {
/// See also [SelectedBangTrigger].
SelectedBangTriggerProvider({
String? domain,
}) : this._internal(
() => SelectedBangTrigger()..domain = domain,
from: selectedBangTriggerProvider,
name: r'selectedBangTriggerProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$selectedBangTriggerHash,
dependencies: SelectedBangTriggerFamily._dependencies,
allTransitiveDependencies:
SelectedBangTriggerFamily._allTransitiveDependencies,
domain: domain,
);
SelectedBangTriggerProvider._internal(
super._createNotifier, {
required super.name,
required super.dependencies,
required super.allTransitiveDependencies,
required super.debugGetCreateSourceHash,
required super.from,
required this.domain,
}) : super.internal();
final String? domain;
@override
String? runNotifierBuild(
covariant SelectedBangTrigger notifier,
) {
return notifier.build(
domain: domain,
);
}
@override
Override overrideWith(SelectedBangTrigger Function() create) {
return ProviderOverride(
origin: this,
override: SelectedBangTriggerProvider._internal(
() => create()..domain = domain,
from: from,
name: null,
dependencies: null,
allTransitiveDependencies: null,
debugGetCreateSourceHash: null,
domain: domain,
),
);
}
@override
NotifierProviderElement<SelectedBangTrigger, String?> createElement() {
return _SelectedBangTriggerProviderElement(this);
}
@override
bool operator ==(Object other) {
return other is SelectedBangTriggerProvider && other.domain == domain;
}
@override
int get hashCode {
var hash = _SystemHash.combine(0, runtimeType.hashCode);
hash = _SystemHash.combine(hash, domain.hashCode);
return _SystemHash.finish(hash);
}
}
mixin SelectedBangTriggerRef on NotifierProviderRef<String?> {
/// The parameter `domain` of this provider.
String? get domain;
}
class _SelectedBangTriggerProviderElement
extends NotifierProviderElement<SelectedBangTrigger, String?>
with SelectedBangTriggerRef {
_SelectedBangTriggerProviderElement(super.provider);
@override
String? get domain => (origin as SelectedBangTriggerProvider).domain;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member