From 37321b9a0b0c85b9ae335e132caf43090a5f3ca4 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Mon, 22 Sep 2025 09:18:26 +0200 Subject: [PATCH] always show app abr when navigating back --- .../browser/presentation/screens/browser.dart | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart b/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart index d729a634..e0cabc44 100644 --- a/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart +++ b/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart @@ -72,6 +72,8 @@ class BrowserScreen extends HookConsumerWidget { final overlayController = useOverlayPortalController(); + final showAppBar = useValueNotifier(true); + ref.listen(overlayControllerProvider, (previous, next) { if (next != null) { overlayController.show(); @@ -137,11 +139,11 @@ class BrowserScreen extends HookConsumerWidget { ); } - final hidden = useState(false); + final appBarVisible = useValueListenable(showAppBar); final diffAcc = useRef(0.0); void resetHiddenState() { - hidden.value = false; + showAppBar.value = true; diffAcc.value = 0.0; } @@ -189,7 +191,7 @@ class BrowserScreen extends HookConsumerWidget { diffAcc.value += diff; if (diffAcc.value.abs() > kToolbarHeight * 1.5) { - hidden.value = true; + showAppBar.value = false; } } else if (diff > 0) { if (diffAcc.value < 0) { @@ -206,7 +208,7 @@ class BrowserScreen extends HookConsumerWidget { ); return Visibility( - visible: !tabInFullScreen && !hidden.value, + visible: !tabInFullScreen && appBarVisible, child: BrowserBottomAppBar(displayedSheet: displayedSheet), ); }, @@ -283,6 +285,9 @@ class BrowserScreen extends HookConsumerWidget { return true; } + //Make sure app bar is visible + showAppBar.value = true; + if (tabState?.isLoading == true) { lastBackButtonPress.value = null;