fixed routing

This commit is contained in:
Manish 2025-11-01 16:52:14 +05:30
parent 32d74d23dd
commit 3ad3515d8d

View File

@ -28,32 +28,15 @@ import 'package:marco/view/tenant/tenant_create_screen.dart';
class AuthMiddleware extends GetMiddleware { class AuthMiddleware extends GetMiddleware {
@override @override
RouteSettings? redirect(String? route) { RouteSettings? redirect(String? route) {
// Public routes that don't require authentication
const publicRoutes = [
'/auth/login-option',
'/auth/login',
'/subscription',
'/payment',
'/select-tenant',
'/create-tenant',
];
// Allow any route that starts with these public routes
if (route != null &&
publicRoutes.any((public) => route.startsWith(public))) {
return null;
}
// Block others if not logged in
if (!AuthService.isLoggedIn) { if (!AuthService.isLoggedIn) {
return const RouteSettings(name: '/auth/login-option'); if (route != '/auth/login-option') {
return const RouteSettings(name: '/auth/login-option');
}
} else if (!TenantService.isTenantSelected) {
if (route != '/select-tenant') {
return const RouteSettings(name: '/select-tenant');
}
} }
// Ensure tenant is selected after login
if (!TenantService.isTenantSelected) {
return const RouteSettings(name: '/select-tenant');
}
return null; return null;
} }
} }
@ -74,20 +57,20 @@ getPageRoute() {
page: () => const TenantSelectionScreen(), page: () => const TenantSelectionScreen(),
middlewares: [AuthMiddleware()]), middlewares: [AuthMiddleware()]),
// Dashboard // Dashboard
GetPage( GetPage(
name: '/dashboard/attendance', name: '/dashboard/attendance',
page: () => AttendanceScreen(), page: () => AttendanceScreen(),
middlewares: [AuthMiddleware()]), middlewares: [AuthMiddleware()]),
// GetPage( GetPage(
// name: '/dashboard', name: '/dashboard',
// page: () => DashboardScreen(), page: () => DashboardScreen(),
// middlewares: [AuthMiddleware()]), middlewares: [AuthMiddleware()]),
GetPage( GetPage(
name: '/dashboard/employees', name: '/dashboard/employees',
page: () => EmployeesScreen(), page: () => EmployeesScreen(),
middlewares: [AuthMiddleware()]), middlewares: [AuthMiddleware()]),
// Daily Task Planning // Daily Task Planning
GetPage( GetPage(
name: '/dashboard/daily-task-Planning', name: '/dashboard/daily-task-Planning',
page: () => DailyTaskPlanningScreen(), page: () => DailyTaskPlanningScreen(),
@ -100,12 +83,12 @@ getPageRoute() {
name: '/dashboard/directory-main-page', name: '/dashboard/directory-main-page',
page: () => DirectoryMainScreen(), page: () => DirectoryMainScreen(),
middlewares: [AuthMiddleware()]), middlewares: [AuthMiddleware()]),
// Expense // Expense
GetPage( GetPage(
name: '/dashboard/expense-main-page', name: '/dashboard/expense-main-page',
page: () => ExpenseMainScreen(), page: () => ExpenseMainScreen(),
middlewares: [AuthMiddleware()]), middlewares: [AuthMiddleware()]),
// Documents // Documents
GetPage( GetPage(
name: '/dashboard/document-main-page', name: '/dashboard/document-main-page',
page: () => UserDocumentsPage(), page: () => UserDocumentsPage(),
@ -121,7 +104,7 @@ getPageRoute() {
name: '/subscription', name: '/subscription',
page: () => SubscriptionScreen(), page: () => SubscriptionScreen(),
), ),
// Authentication // Authentication
GetPage(name: '/auth/login', page: () => LoginScreen()), GetPage(name: '/auth/login', page: () => LoginScreen()),
GetPage(name: '/auth/login-option', page: () => LoginOptionScreen()), GetPage(name: '/auth/login-option', page: () => LoginOptionScreen()),
GetPage(name: '/auth/mpin', page: () => MPINScreen()), GetPage(name: '/auth/mpin', page: () => MPINScreen()),
@ -132,7 +115,7 @@ getPageRoute() {
GetPage(name: '/auth/forgot_password', page: () => ForgotPasswordScreen()), GetPage(name: '/auth/forgot_password', page: () => ForgotPasswordScreen()),
GetPage( GetPage(
name: '/auth/reset_password', page: () => const ResetPasswordScreen()), name: '/auth/reset_password', page: () => const ResetPasswordScreen()),
// Error // Error
GetPage( GetPage(
name: '/error/coming_soon', name: '/error/coming_soon',
page: () => ComingSoonScreen(), page: () => ComingSoonScreen(),