intermediate
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:lensai/features/search_browser/domain/entities/sheet.dart';
|
||||
import 'package:lensai/features/search_browser/domain/services/create_tab.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:rxdart/rxdart.dart';
|
||||
|
||||
part 'bottom_sheet.g.dart';
|
||||
|
||||
@Riverpod()
|
||||
class BottomSheetController extends _$BottomSheetController {
|
||||
@override
|
||||
Sheet? build() {
|
||||
//Don't use select here because it will only fire on new != previous
|
||||
return ref.watch(createTabStreamProvider).valueOrNull;
|
||||
}
|
||||
|
||||
void show(Sheet sheet) {
|
||||
state = sheet;
|
||||
}
|
||||
|
||||
void dismiss() {
|
||||
state = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class BottomSheetExtend extends _$BottomSheetExtend {
|
||||
late StreamController<double> _extentStreamController;
|
||||
|
||||
void add(double extent) {
|
||||
_extentStreamController.add(extent);
|
||||
}
|
||||
|
||||
@override
|
||||
Stream<double> build() {
|
||||
_extentStreamController = StreamController();
|
||||
ref.onDispose(() async {
|
||||
await _extentStreamController.close();
|
||||
});
|
||||
|
||||
return _extentStreamController.stream
|
||||
.sampleTime(const Duration(milliseconds: 50));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'bottom_sheet.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$bottomSheetControllerHash() =>
|
||||
r'ae91f911fc35fdc0dfb14149ac2295e58ad13a86';
|
||||
|
||||
/// See also [BottomSheetController].
|
||||
@ProviderFor(BottomSheetController)
|
||||
final bottomSheetControllerProvider =
|
||||
AutoDisposeNotifierProvider<BottomSheetController, Sheet?>.internal(
|
||||
BottomSheetController.new,
|
||||
name: r'bottomSheetControllerProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$bottomSheetControllerHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$BottomSheetController = AutoDisposeNotifier<Sheet?>;
|
||||
String _$bottomSheetExtendHash() => r'81ae254499d1d7f57309274b0f18747b94d6dda3';
|
||||
|
||||
/// See also [BottomSheetExtend].
|
||||
@ProviderFor(BottomSheetExtend)
|
||||
final bottomSheetExtendProvider =
|
||||
StreamNotifierProvider<BottomSheetExtend, double>.internal(
|
||||
BottomSheetExtend.new,
|
||||
name: r'bottomSheetExtendProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$bottomSheetExtendHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$BottomSheetExtend = StreamNotifier<double>;
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member
|
||||
@@ -0,0 +1,20 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'overlay_dialog.g.dart';
|
||||
|
||||
@Riverpod()
|
||||
class OverlayDialogController extends _$OverlayDialogController {
|
||||
@override
|
||||
Widget? build() {
|
||||
return null;
|
||||
}
|
||||
|
||||
void show(Widget dialog) {
|
||||
state = dialog;
|
||||
}
|
||||
|
||||
void dismiss() {
|
||||
state = null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'overlay_dialog.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$overlayDialogControllerHash() =>
|
||||
r'53b44d9567bcb5bd9faecbfb8bb1af5aafb369c9';
|
||||
|
||||
/// See also [OverlayDialogController].
|
||||
@ProviderFor(OverlayDialogController)
|
||||
final overlayDialogControllerProvider =
|
||||
AutoDisposeNotifierProvider<OverlayDialogController, Widget?>.internal(
|
||||
OverlayDialogController.new,
|
||||
name: r'overlayDialogControllerProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
? null
|
||||
: _$overlayDialogControllerHash,
|
||||
dependencies: null,
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$OverlayDialogController = AutoDisposeNotifier<Widget?>;
|
||||
// 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