fix: map not updating after viewing an asset (#30601)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong 2026-08-06 16:26:12 +05:30 committed by GitHub
parent f361dbbb77
commit 63b90ec43d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View file

@ -5,9 +5,6 @@ import 'package:immich_mobile/routing/router.dart';
@visibleForTesting @visibleForTesting
bool isRouteInStack(Ref ref, String routeName) { bool isRouteInStack(Ref ref, String routeName) {
final router = ref.watch(appRouterProvider); final router = ref.watch(appRouterProvider);
void onChange() => ref.invalidateSelf();
router.addListener(onChange);
ref.onDispose(() => router.removeListener(onChange));
return router.stackData.any((route) => route.name == routeName); return router.stackData.any((route) => route.name == routeName);
} }

View file

@ -13,6 +13,8 @@ class AppNavigationObserver extends AutoRouterObserver {
@override @override
void didPush(Route route, Route? previousRoute) { void didPush(Route route, Route? previousRoute) {
ref.invalidate(inLockedViewProvider);
ref.invalidate(isAssetViewerOpenProvider);
unawaited( unawaited(
Future(() { Future(() {
ref.read(currentRouteNameProvider.notifier).state = route.settings.name; ref.read(currentRouteNameProvider.notifier).state = route.settings.name;
@ -21,4 +23,10 @@ class AppNavigationObserver extends AutoRouterObserver {
}), }),
); );
} }
@override
void didPop(Route route, Route? previousRoute) {
ref.invalidate(inLockedViewProvider);
ref.invalidate(isAssetViewerOpenProvider);
}
} }