Implemented go router

This commit is contained in:
Juan Gilsanz Polo 2023-10-28 22:38:49 +02:00
parent 2ad739ed4f
commit 621171c5b1
23 changed files with 614 additions and 234 deletions

20
lib/routes/router.dart Normal file
View file

@ -0,0 +1,20 @@
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:adguard_home_manager/routes/router_globals.dart';
import 'package:adguard_home_manager/routes/routes.dart';
import 'package:adguard_home_manager/providers/servers_provider.dart';
import 'package:adguard_home_manager/constants/routes_names.dart';
final goRouter = GoRouter(
navigatorKey: rootNavigatorKey,
redirect: (context, state) {
final serversProvider = Provider.of<ServersProvider>(context, listen: false);
if (serversProvider.selectedServer == null) {
return RoutesNames.connect;
}
return null;
},
initialLocation: RoutesNames.home,
routes: routes,
);