24 lines
692 B
Dart
24 lines
692 B
Dart
|
|
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) {
|
||
|
|
router.replace(InboxRoute());
|
||
|
|
} else {
|
||
|
|
resolver.next(true);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|