first bang implementation
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:bang_navigator/features/bangs/data/models/bang_data.dart';
|
||||
import 'package:bang_navigator/features/bangs/domain/repositories/bang.dart';
|
||||
import 'package:bang_navigator/features/search_browser/domain/entities/sheet.dart';
|
||||
import 'package:bang_navigator/features/search_browser/domain/services/create_tab.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
@@ -65,3 +67,26 @@ class BottomSheetExtend extends _$BottomSheetExtend {
|
||||
.sampleTime(const Duration(milliseconds: 50));
|
||||
}
|
||||
}
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class SelectedBangTrigger extends _$SelectedBangTrigger {
|
||||
void setTrigger(String trigger) {
|
||||
state = trigger;
|
||||
}
|
||||
|
||||
void clearTrigger() {
|
||||
state = null;
|
||||
}
|
||||
|
||||
@override
|
||||
String? build() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Riverpod()
|
||||
Stream<BangData?> selectedBangData(SelectedBangDataRef ref) {
|
||||
final repository = ref.watch(bangRepositoryProvider.notifier);
|
||||
final selectedBangTrigger = ref.watch(selectedBangTriggerProvider);
|
||||
return repository.watchBang(selectedBangTrigger);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,21 @@ part of 'providers.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$selectedBangDataHash() => r'6d99a08f4a02027cc007ee1df30e5ac7923ca5f5';
|
||||
|
||||
/// 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,
|
||||
);
|
||||
|
||||
typedef SelectedBangDataRef = AutoDisposeStreamProviderRef<BangData?>;
|
||||
String _$overlayDialogHash() => r'7a0376fff0ba12c70a257a47391e7c049dabd36d';
|
||||
|
||||
/// See also [OverlayDialog].
|
||||
@@ -53,5 +68,22 @@ final bottomSheetExtendProvider =
|
||||
);
|
||||
|
||||
typedef _$BottomSheetExtend = StreamNotifier<double>;
|
||||
String _$selectedBangTriggerHash() =>
|
||||
r'd110e4f8bd9d362e0cc54ee56a4f247d0870c760';
|
||||
|
||||
/// 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,
|
||||
);
|
||||
|
||||
typedef _$SelectedBangTrigger = Notifier<String?>;
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
|
||||
|
||||
Reference in New Issue
Block a user