base_project
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
import 'package:base_project/routes/route_names.dart';
|
||||
import 'package:base_project/view/auth/get_otp.dart';
|
||||
import 'package:base_project/view/auth/login.dart';
|
||||
import 'package:base_project/view/auth/register_acc.dart';
|
||||
import 'package:base_project/view/auth/signup.dart';
|
||||
import 'package:base_project/view/auth/verify_otp.dart';
|
||||
import 'package:base_project/view/dashboard/home.dart';
|
||||
import 'package:base_project/view/dashboard/profile/change_password.dart';
|
||||
import 'package:base_project/view/dashboard/profile/profile.dart';
|
||||
import 'package:base_project/view/splash_screen.dart';
|
||||
import 'package:base_project/view/system_parameters/system_parameters.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AppRoutes {
|
||||
static Route<dynamic> generateRoutes(RouteSettings routeSettings) {
|
||||
switch (routeSettings.name) {
|
||||
case RouteNames.splashView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const SplashScreen(),
|
||||
);
|
||||
case RouteNames.loginView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const LoginView(),
|
||||
);
|
||||
case RouteNames.signUpView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const SignupView(),
|
||||
);
|
||||
case RouteNames.getOtpView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => GetOtpView(),
|
||||
);
|
||||
case RouteNames.verifyOtpView:
|
||||
final args = routeSettings.arguments;
|
||||
String? email;
|
||||
if (args is Map) {
|
||||
email = args['email']?.toString();
|
||||
}
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => VerifyOtpView(email: email),
|
||||
);
|
||||
case RouteNames.registerAccView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const RegisterAccView(),
|
||||
);
|
||||
|
||||
case RouteNames.homeView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const HomeView(),
|
||||
);
|
||||
case RouteNames.profileView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const ProfileView(),
|
||||
);
|
||||
// case RouteNames.editProfileView:
|
||||
// return MaterialPageRoute(
|
||||
// builder: (context) => const EditProfile(),
|
||||
// );
|
||||
case RouteNames.changePasswordView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => ChangePassword(),
|
||||
);
|
||||
case RouteNames.systemParamsView:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) => const SystemParametersView(),
|
||||
);
|
||||
default:
|
||||
return MaterialPageRoute(
|
||||
builder: (context) {
|
||||
print("Checking Default route");
|
||||
// SplashViewModel().checkNavigation(context);
|
||||
// return const Scaffold(
|
||||
// body: Center(
|
||||
// child: Text("No route defined"),
|
||||
// ),
|
||||
// );
|
||||
// If we're on System Parameters, do not auto-redirect
|
||||
if (routeSettings.name == RouteNames.systemParamsView) {
|
||||
return const SystemParametersView();
|
||||
}
|
||||
// Fallback to Splash so SplashViewModel can decide (login vs home)
|
||||
return const SplashScreen();
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
class RouteNames {
|
||||
|
||||
// AUTH VIEW //
|
||||
static const splashView = '/splash';
|
||||
static const loginView = '/login';
|
||||
static const signUpView = '/signUp';
|
||||
static const getOtpView = '/getOtp';
|
||||
static const verifyOtpView = '/verifyOtp';
|
||||
static const registerAccView = '/registerAccount';
|
||||
static const createAccView = '/createAccount';
|
||||
|
||||
// MAIN APP VIEW //
|
||||
static const homeView = '/home';
|
||||
static const profileView = '/profile';
|
||||
static const editProfileView = '/editProfile';
|
||||
static const changePasswordView = '/changePassword';
|
||||
static const systemParamsView = '/systemParams';
|
||||
}
|
||||
Reference in New Issue
Block a user