AppRoute: Add the routes to const variables

Just makes it easier to make sure there are no mistakes
This commit is contained in:
Vishesh Handa
2021-05-07 12:17:34 +02:00
parent f5ae9c56c9
commit 9035fef844

View File

@ -24,6 +24,34 @@ import 'package:gitjournal/setup/screens.dart';
import 'package:gitjournal/utils.dart'; import 'package:gitjournal/utils.dart';
import 'package:gitjournal/utils/logger.dart'; import 'package:gitjournal/utils/logger.dart';
class AppRoute {
static const OnBoarding = '/onBoarding';
static const AllFolders = '/folders';
static const AllTags = '/tags';
static const FileSystem = '/filesystem';
static const Graph = '/graph';
static const Settings = '/settings';
static const Login = '/login';
static const Register = '/register';
static const SetupRemoteGit = '/setupRemoteGit';
static const Purchase = '/purchase';
static const PurchaseThank = '/purchase_thank_you';
var all = [
OnBoarding,
AllFolders,
AllTags,
FileSystem,
Graph,
Settings,
Login,
Register,
SetupRemoteGit,
Purchase,
PurchaseThank,
];
}
class AppRouter { class AppRouter {
final AppSettings appSettings; final AppSettings appSettings;
final Settings settings; final Settings settings;
@ -33,10 +61,10 @@ class AppRouter {
String initialRoute() { String initialRoute() {
var route = '/'; var route = '/';
if (!appSettings.onBoardingCompleted) { if (!appSettings.onBoardingCompleted) {
route = '/onBoarding'; route = AppRoute.OnBoarding;
} }
if (settings.homeScreen == SettingsHomeScreen.AllFolders) { if (settings.homeScreen == SettingsHomeScreen.AllFolders) {
route = '/folders'; route = AppRoute.AllFolders;
} }
return route; return route;
} }
@ -49,7 +77,9 @@ class AppRouter {
Function callbackIfUsedShared, Function callbackIfUsedShared,
) { ) {
var route = routeSettings.name; var route = routeSettings.name;
if (route == '/folders' || route == '/tags' || route == '/filesystem') { if (route == AppRoute.AllFolders ||
route == AppRoute.AllTags ||
route == AppRoute.FileSystem) {
return PageRouteBuilder( return PageRouteBuilder(
settings: routeSettings, settings: routeSettings,
pageBuilder: (_, __, ___) => _screenForRoute( pageBuilder: (_, __, ___) => _screenForRoute(
@ -90,31 +120,31 @@ class AppRouter {
switch (route) { switch (route) {
case '/': case '/':
return HomeScreen(); return HomeScreen();
case '/folders': case AppRoute.AllFolders:
return FolderListingScreen(); return FolderListingScreen();
case '/filesystem': case AppRoute.FileSystem:
return FileSystemScreen(); return FileSystemScreen();
case '/tags': case AppRoute.AllTags:
return TagListingScreen(); return TagListingScreen();
case '/graph': case AppRoute.Graph:
return GraphViewScreen(); return GraphViewScreen();
case '/settings': case AppRoute.Settings:
return SettingsScreen(); return SettingsScreen();
case '/login': case AppRoute.Login:
return LoginPage(); return LoginPage();
case '/register': case AppRoute.Register:
return SignUpScreen(); return SignUpScreen();
case '/setupRemoteGit': case AppRoute.SetupRemoteGit:
return GitHostSetupScreen( return GitHostSetupScreen(
repoFolderName: settings.folderName, repoFolderName: settings.folderName,
remoteName: "origin", remoteName: "origin",
onCompletedFunction: repository.completeGitHostSetup, onCompletedFunction: repository.completeGitHostSetup,
); );
case '/onBoarding': case AppRoute.OnBoarding:
return OnBoardingScreen(); return OnBoardingScreen();
case '/purchase': case AppRoute.Purchase:
return PurchaseScreen(); return PurchaseScreen();
case '/purchase_thank_you': case AppRoute.PurchaseThank:
return PurchaseThankYouScreen(); return PurchaseThankYouScreen();
} }