diff --git a/lib/routes.dart b/lib/routes.dart index bc1c3b8..090738f 100644 --- a/lib/routes.dart +++ b/lib/routes.dart @@ -28,32 +28,15 @@ import 'package:marco/view/tenant/tenant_create_screen.dart'; class AuthMiddleware extends GetMiddleware { @override 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) { - 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; } } @@ -74,20 +57,20 @@ getPageRoute() { page: () => const TenantSelectionScreen(), middlewares: [AuthMiddleware()]), -// Dashboard + // Dashboard GetPage( name: '/dashboard/attendance', page: () => AttendanceScreen(), middlewares: [AuthMiddleware()]), - // GetPage( - // name: '/dashboard', - // page: () => DashboardScreen(), - // middlewares: [AuthMiddleware()]), + GetPage( + name: '/dashboard', + page: () => DashboardScreen(), + middlewares: [AuthMiddleware()]), GetPage( name: '/dashboard/employees', page: () => EmployeesScreen(), middlewares: [AuthMiddleware()]), -// Daily Task Planning + // Daily Task Planning GetPage( name: '/dashboard/daily-task-Planning', page: () => DailyTaskPlanningScreen(), @@ -100,12 +83,12 @@ getPageRoute() { name: '/dashboard/directory-main-page', page: () => DirectoryMainScreen(), middlewares: [AuthMiddleware()]), -// Expense + // Expense GetPage( name: '/dashboard/expense-main-page', page: () => ExpenseMainScreen(), middlewares: [AuthMiddleware()]), -// Documents + // Documents GetPage( name: '/dashboard/document-main-page', page: () => UserDocumentsPage(), @@ -121,7 +104,7 @@ getPageRoute() { name: '/subscription', page: () => SubscriptionScreen(), ), -// Authentication + // Authentication GetPage(name: '/auth/login', page: () => LoginScreen()), GetPage(name: '/auth/login-option', page: () => LoginOptionScreen()), GetPage(name: '/auth/mpin', page: () => MPINScreen()), @@ -132,7 +115,7 @@ getPageRoute() { GetPage(name: '/auth/forgot_password', page: () => ForgotPasswordScreen()), GetPage( name: '/auth/reset_password', page: () => const ResetPasswordScreen()), -// Error + // Error GetPage( name: '/error/coming_soon', page: () => ComingSoonScreen(),