From 2e3aed73032c1968f2bd587af100c7759d723d95 Mon Sep 17 00:00:00 2001 From: Fabian Freund Date: Sat, 10 Jan 2026 19:23:53 +0100 Subject: [PATCH] fix loading progress visibility issue --- .../browser/presentation/screens/browser.dart | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 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 ab159806..a6bc7d0a 100644 --- a/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart +++ b/app/lib/features/geckoview/features/browser/presentation/screens/browser.dart @@ -453,6 +453,36 @@ class BrowserScreen extends HookConsumerWidget { : 16 + bottomSafeArea, child: const BrowserFab(), ), + + // Layer 5: Page load progress indicator (animates with toolbar visibility) + AnimatedPositioned( + duration: _AnimatedToolbar._kAnimationDuration, + curve: Curves.easeInOutQuart, + left: 0, + right: 0, + bottom: bottomToolbarVisible + ? bottomAppBarTotalHeight + : 0, + child: Consumer( + builder: (context, ref, child) { + final value = ref.watch( + selectedTabStateProvider.select((state) { + if (state?.isLoading == true) { + return state?.progress ?? 100; + } + + //When not loading we assumed finished + return 100; + }), + ); + + return Visibility( + visible: value < 100, + child: LinearProgressIndicator(value: value / 100), + ); + }, + ), + ), ], ), ), @@ -725,30 +755,6 @@ class _BrowserView extends StatelessWidget { child: Stack( children: [ BrowserView(pointerMoveEventSink: pointerMoveEventSink), - Positioned( - bottom: 0, - left: 0, - right: 0, - child: Consumer( - builder: (context, ref, child) { - final value = ref.watch( - selectedTabStateProvider.select((state) { - if (state?.isLoading == true) { - return state?.progress ?? 100; - } - - //When not loading we assumed finished - return 100; - }), - ); - - return Visibility( - visible: value < 100, - child: LinearProgressIndicator(value: value / 100), - ); - }, - ), - ), Positioned( bottom: 0, left: 0,