diff --git a/lib/screens/discover_screen.dart b/lib/screens/discover_screen.dart index d5a5d55e..c2bcb646 100644 --- a/lib/screens/discover_screen.dart +++ b/lib/screens/discover_screen.dart @@ -543,6 +543,7 @@ class _DiscoverScreenState extends State if (!_isAutoScrollPaused) { _startAutoScroll(); } + _focusTopBoundary(); } // Helper method to calculate visible dot range (max 5 dots) diff --git a/lib/screens/main_screen.dart b/lib/screens/main_screen.dart index 22b61c35..c64e6dd3 100644 --- a/lib/screens/main_screen.dart +++ b/lib/screens/main_screen.dart @@ -522,6 +522,14 @@ class _MainScreenState extends State with RouteAware, WindowListener void _focusContent() { setState(() => _isSidebarFocused = false); _contentFocusScope.requestFocus(); + // When content regains focus while on Discover, focus the hero section + if (_currentIndex == 0 && !_isOffline) { + WidgetsBinding.instance.addPostFrameCallback((_) { + if (_discoverKey.currentState case final TabVisibilityAware aware) { + aware.onTabShown(); + } + }); + } // When content regains focus while on Libraries, retry focusing the active tab if (_currentIndex == 1 && !_isOffline) { WidgetsBinding.instance.addPostFrameCallback((_) {