use overlay buidler instead of instance
This commit is contained in:
@@ -25,13 +25,13 @@ part 'overlay.g.dart';
|
||||
@Riverpod()
|
||||
class OverlayController extends _$OverlayController {
|
||||
@override
|
||||
Widget? build() {
|
||||
WidgetBuilder? build() {
|
||||
return null;
|
||||
}
|
||||
|
||||
// ignore: use_setters_to_change_properties api decision
|
||||
void show(Widget dialog) {
|
||||
state = dialog;
|
||||
void show(WidgetBuilder builder) {
|
||||
state = builder;
|
||||
}
|
||||
|
||||
void dismiss() {
|
||||
|
||||
@@ -6,12 +6,12 @@ part of 'overlay.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$overlayControllerHash() => r'b6dc3ca17611c4efadc7e8248d493cd3c7061e01';
|
||||
String _$overlayControllerHash() => r'7b7885e07ae557c14199b6942b5d6392592ab747';
|
||||
|
||||
/// See also [OverlayController].
|
||||
@ProviderFor(OverlayController)
|
||||
final overlayControllerProvider =
|
||||
AutoDisposeNotifierProvider<OverlayController, Widget?>.internal(
|
||||
AutoDisposeNotifierProvider<OverlayController, WidgetBuilder?>.internal(
|
||||
OverlayController.new,
|
||||
name: r'overlayControllerProvider',
|
||||
debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
|
||||
@@ -21,6 +21,6 @@ final overlayControllerProvider =
|
||||
allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
typedef _$OverlayController = AutoDisposeNotifier<Widget?>;
|
||||
typedef _$OverlayController = AutoDisposeNotifier<WidgetBuilder?>;
|
||||
// ignore_for_file: type=lint
|
||||
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package
|
||||
|
||||
@@ -57,7 +57,7 @@ class BrowserScreen extends HookConsumerWidget {
|
||||
final eventService = ref.watch(eventServiceProvider);
|
||||
|
||||
final displayedSheet = ref.watch(bottomSheetControllerProvider);
|
||||
final displayedOverlay = ref.watch(overlayControllerProvider);
|
||||
final overlayBuilder = ref.watch(overlayControllerProvider);
|
||||
|
||||
final lastBackButtonPress = useRef<DateTime?>(null);
|
||||
|
||||
@@ -130,7 +130,7 @@ class BrowserScreen extends HookConsumerWidget {
|
||||
return OverlayPortal(
|
||||
controller: overlayController,
|
||||
overlayChildBuilder: (context) {
|
||||
return displayedOverlay!;
|
||||
return overlayBuilder!.call(context);
|
||||
},
|
||||
child: Listener(
|
||||
onPointerDown: (displayedSheet != null)
|
||||
@@ -161,7 +161,7 @@ class BrowserScreen extends HookConsumerWidget {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (displayedOverlay != null) {
|
||||
if (overlayBuilder != null) {
|
||||
ref.read(overlayControllerProvider.notifier).dismiss();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,10 @@ class StartProxyController extends _$StartProxyController {
|
||||
|
||||
ref
|
||||
.read(overlayControllerProvider.notifier)
|
||||
.show(Positioned(top: 0, left: 0, child: TorNotification()));
|
||||
.show(
|
||||
(context) =>
|
||||
Positioned(top: 0, left: 0, child: TorNotification()),
|
||||
);
|
||||
|
||||
await connection;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ part of 'start_tor_proxy.dart';
|
||||
// **************************************************************************
|
||||
|
||||
String _$startProxyControllerHash() =>
|
||||
r'b83cdc1b6d1c358a2042ff2b7cc2f19f82e5d5ed';
|
||||
r'3e8b409f069f32b601b1c60acbe0a72694fd1cc2';
|
||||
|
||||
/// See also [StartProxyController].
|
||||
@ProviderFor(StartProxyController)
|
||||
|
||||
Reference in New Issue
Block a user