mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-27 09:06:43 +08:00
AppRoute: Add the routes to const variables
Just makes it easier to make sure there are no mistakes
This commit is contained in:
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user