2026-09-26 22:45:38 +03:00
|
|
|
import "package:auto_route/auto_route.dart";
|
|
|
|
|
import "package:flutter_riverpod/flutter_riverpod.dart";
|
|
|
|
|
|
|
|
|
|
import "package:smol_mail/data/providers/providers.dart";
|
|
|
|
|
import "package:smol_mail/presentation/routes/app_router.gr.dart";
|
|
|
|
|
|
|
|
|
|
/// The landing screen is only for users who cannot use the app yet: no
|
|
|
|
|
/// identity, or no registered account.
|
|
|
|
|
class HomeGuard extends AutoRouteGuard {
|
|
|
|
|
final WidgetRef ref;
|
|
|
|
|
|
|
|
|
|
HomeGuard(this.ref);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void onNavigation(NavigationResolver resolver, StackRouter router) {
|
|
|
|
|
if (ref.read(identityProvider) != null &&
|
|
|
|
|
ref.read(accountProvider) != null) {
|
2026-09-27 11:07:11 +03:00
|
|
|
router.replace(HomeRoute());
|
2026-09-26 22:45:38 +03:00
|
|
|
} else {
|
|
|
|
|
resolver.next(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|