fixed routing
This commit is contained in:
parent
32d74d23dd
commit
3ad3515d8d
@ -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(),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user