kirakira/lib/presentation/routes/home_guard.dart

23 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);
}
}
}