add auth-router

This commit is contained in:
2026-03-11 20:58:58 +01:00
parent 4156ea4f16
commit 14c72b06d4
2 changed files with 22 additions and 1 deletions

View File

@@ -49,3 +49,7 @@ Folgende Dateien wurden in diesem Prompt verändert:
Folgende Dateien wurden in diesem Prompt verändert:
- frontend_splatournament_manager/pubspec.yaml
- frontend_splatournament_manager/lib/providers/theme_provider.dart
- Implement auth-aware router to keep users logged in after app restart.<br><br>
Folgende Dateien wurden in diesem Prompt verändert:
- frontend_splatournament_manager/lib/main.dart

View File

@@ -45,8 +45,25 @@ class SplatournamentApp extends StatelessWidget {
}
}
var routes = GoRouter(
final routes = GoRouter(
initialLocation: '/login',
redirect: (context, state) async {
final authProvider = Provider.of<AuthProvider>(context, listen: false);
await authProvider.checkAuthStatus();
final isLoggedIn = authProvider.isLoggedIn;
final isGoingToLogin = state.matchedLocation == '/login';
// redirect to login
if (!isLoggedIn && !isGoingToLogin) {
return '/login';
}
//already logged in
if (isLoggedIn && isGoingToLogin) {
return '/';
}
return null;
},
routes: [
GoRoute(path: "/login", builder: (context, state) => const LoginPage()),
GoRoute(