From 3dde8334e086b65bfdaf19382e5e31189e78be60 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Mon, 16 Feb 2026 03:12:22 +0100 Subject: [PATCH] fix: refresh home page when libraries are hidden/unhidden close #465 --- lib/screens/discover_screen.dart | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/screens/discover_screen.dart b/lib/screens/discover_screen.dart index 3615a7fc..c02ef729 100644 --- a/lib/screens/discover_screen.dart +++ b/lib/screens/discover_screen.dart @@ -78,6 +78,7 @@ class _DiscoverScreenState extends State Timer? _indicatorTimer; final ValueNotifier _indicatorProgress = ValueNotifier(0.0); bool _isAutoScrollPaused = false; + HiddenLibrariesProvider? _hiddenLibrariesProvider; String _toGlobalKey(String ratingKey, String serverId) => '$serverId:$ratingKey'; @@ -256,6 +257,21 @@ class _DiscoverScreenState extends State _startAutoScroll(); } + @override + void didChangeDependencies() { + super.didChangeDependencies(); + final provider = context.read(); + if (provider != _hiddenLibrariesProvider) { + _hiddenLibrariesProvider?.removeListener(_onHiddenLibrariesChanged); + _hiddenLibrariesProvider = provider; + _hiddenLibrariesProvider!.addListener(_onHiddenLibrariesChanged); + } + } + + void _onHiddenLibrariesChanged() { + _loadContent(); + } + void _onRefreshFocusChange() { if (mounted) { setState(() { @@ -497,6 +513,7 @@ class _DiscoverScreenState extends State @override void dispose() { + _hiddenLibrariesProvider?.removeListener(_onHiddenLibrariesChanged); WidgetsBinding.instance.removeObserver(this); _autoScrollTimer?.cancel(); _indicatorTimer?.cancel();