From 1b969953b5994798f8cc7db350af2094cd2642ef Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Sat, 16 May 2026 12:24:26 +0200 Subject: [PATCH] fix(libraries): refresh all tabs --- lib/screens/libraries/libraries_screen.dart | 26 +++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lib/screens/libraries/libraries_screen.dart b/lib/screens/libraries/libraries_screen.dart index cca371d4..61ebe672 100644 --- a/lib/screens/libraries/libraries_screen.dart +++ b/lib/screens/libraries/libraries_screen.dart @@ -526,16 +526,14 @@ class _LibrariesScreenState extends State _initializeWithLibraries(); } - // Refresh the currently active tab - void _refreshCurrentTab() { - if (tabController.index < 0 || tabController.index >= _visibleTabs.length) return; - final key = switch (_visibleTabs[tabController.index]) { - LibraryTabType.recommended => _recommendedTabKey, - LibraryTabType.browse => _browseTabKey, - LibraryTabType.collections => _collectionsTabKey, - LibraryTabType.playlists => _playlistsTabKey, - }; - (key.currentState as dynamic)?.refresh(); + // Refresh every loaded tab for the selected library. + void _refreshSelectedLibraryTabs() { + for (var i = 0; i < _visibleTabs.length; i++) { + final Object? tabState = _getTabState(i); + if (tabState is Refreshable) { + tabState.refresh(); + } + } } // Public method to fully reload all content (for profile switches) @@ -1053,7 +1051,11 @@ class _LibrariesScreenState extends State tooltip: t.libraries.manageLibraries, onPressed: _showLibraryManagementSheet, ), - FocusableAction(icon: Symbols.refresh_rounded, tooltip: t.common.refresh, onPressed: _refreshCurrentTab), + FocusableAction( + icon: Symbols.refresh_rounded, + tooltip: t.common.refresh, + onPressed: _refreshSelectedLibraryTabs, + ), ], ), ], @@ -1095,7 +1097,7 @@ class _LibrariesScreenState extends State FocusableAction( icon: Symbols.refresh_rounded, tooltip: t.common.refresh, - onPressed: _refreshCurrentTab, + onPressed: _refreshSelectedLibraryTabs, ), ], ),