From e9b4b072ab1cdf1b85c63e7336da04e4ea8645b6 Mon Sep 17 00:00:00 2001 From: franzap <_@franzap.com> Date: Sun, 14 Dec 2025 12:30:09 -0300 Subject: [PATCH] Never let system close the app via back gesture, should fix issues --- lib/screens/main_scaffold.dart | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/lib/screens/main_scaffold.dart b/lib/screens/main_scaffold.dart index 5386a61..62c7ff5 100644 --- a/lib/screens/main_scaffold.dart +++ b/lib/screens/main_scaffold.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:go_router/go_router.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:models/models.dart'; @@ -8,7 +7,7 @@ import '../widgets/common/profile_avatar.dart'; import '../theme.dart'; /// Main scaffold with bottom navigation that adapts to screen size -class MainScaffold extends HookWidget { +class MainScaffold extends StatelessWidget { const MainScaffold({super.key, required this.navigationShell}); final StatefulNavigationShell navigationShell; @@ -35,15 +34,11 @@ class MainScaffold extends HookWidget { Widget build(BuildContext context) { final router = GoRouter.of(context); - // Listen to router changes to keep canPop in sync with navigation state - useListenable(router.routerDelegate); - return PopScope( - canPop: !router.canPop(), // Allow app to close only when router can't pop + canPop: false, // Never let system close the app via back gesture onPopInvokedWithResult: (didPop, result) { if (!didPop && router.canPop()) { - // If we couldn't pop but router has history, pop from router - router.pop(); + router.pop(); // Go back if possible, otherwise do nothing } }, child: LayoutBuilder(