fix popcontrol for android

This commit is contained in:
Christien Rioux 2025-04-09 18:24:46 -04:00
parent b835e10200
commit 2313247407
2 changed files with 7 additions and 8 deletions

View file

@ -2,13 +2,15 @@ import 'package:flutter/widgets.dart';
import '../../keyboard_shortcuts.dart'; import '../../keyboard_shortcuts.dart';
import '../../notifications/notifications.dart'; import '../../notifications/notifications.dart';
import '../../theme/theme.dart';
class RouterShell extends StatelessWidget { class RouterShell extends StatelessWidget {
const RouterShell({required Widget child, super.key}) : _child = child; const RouterShell({required Widget child, super.key}) : _child = child;
@override @override
Widget build(BuildContext context) => Widget build(BuildContext context) => PopControl(
NotificationsWidget(child: KeyboardShortcuts(child: _child)); dismissible: false,
child: NotificationsWidget(child: KeyboardShortcuts(child: _child)));
final Widget _child; final Widget _child;
} }

View file

@ -8,18 +8,15 @@ class PopControl extends StatelessWidget {
super.key, super.key,
}); });
void _doDismiss(NavigatorState navigator) { void _doDismiss(BuildContext context) {
if (!dismissible) { if (!dismissible) {
return; return;
} }
navigator.pop(); Navigator.of(context).pop();
} }
@override @override
// ignore: prefer_expression_function_bodies
Widget build(BuildContext context) { Widget build(BuildContext context) {
final navigator = Navigator.of(context);
final route = ModalRoute.of(context); final route = ModalRoute.of(context);
if (route != null && route is PopControlDialogRoute) { if (route != null && route is PopControlDialogRoute) {
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
@ -33,7 +30,7 @@ class PopControl extends StatelessWidget {
if (didPop) { if (didPop) {
return; return;
} }
_doDismiss(navigator); _doDismiss(context);
return; return;
}, },
child: child); child: child);