import { createBrowserRouter, Navigate } from 'react-router-dom'; import { I18nextProvider } from 'react-i18next'; import { i18n } from './i18n/config'; import { PortalLayout } from './layouts/PortalLayout'; import { ProtectedRoute } from './components/ProtectedRoute'; import { ProfileGuard } from './components/ProfileGuard'; // Auth (standalone pages, no portal chrome) import { LoginPage, SignupPage, OTPVerificationPage, ForgotPasswordPage } from '@ema-platform/auth'; // Profile setup import { ProfileSetupPage } from './features/profile-setup/pages/ProfileSetupPage'; // Portal feature pages import { DashboardPage } from './features/dashboard/pages/DashboardPage'; import { ProfilePage } from './features/profile/pages/ProfilePage'; import { SupportPage } from './features/support/pages/SupportPage'; import { SeafarerRegistrationPage } from './features/seafarer/pages/SeafarerRegistrationPage'; import { SeafarerRegistryPage } from './features/seafarer/pages/SeafarerRegistryPage'; import { SeafarerProfilePage } from './features/seafarer/pages/SeafarerProfilePage'; // Phase 1 pages import { DocumentVaultPage } from './features/documents/pages/DocumentVaultPage'; import { SeamanBookPage } from './features/seaman-book/pages/SeamanBookPage'; import { SeamanBookApplicationPage } from './features/seaman-book/pages/SeamanBookApplicationPage'; import { NotificationsPage } from './features/notifications/pages/NotificationsPage'; // Basic Safety Training import { BasicSafetyTrainingPage } from './features/basic-safety-training/pages/BasicSafetyTrainingPage'; // Phase 2 — CoC / CoP import { CertificatesPage } from './features/certificates/pages/CertificatesPage'; import { CoCApplicationPage } from './features/certificates/pages/CoCApplicationPage'; // Phase 3 — Endorsement import { EndorsementPage } from './features/endorsement/pages/EndorsementPage'; // Vessel Registration import { VesselRegistrationPage } from './features/vessel-registration/pages/VesselRegistrationPage'; import { VesselRegistrationApplicationPage } from './features/vessel-registration/pages/VesselRegistrationApplicationPage'; import { OwnershipTransferPage } from './features/vessel-registration/pages/OwnershipTransferPage'; // Vessel Owner Portal (restricted) import { VesselOwnerLayout } from './layouts/VesselOwnerLayout'; import { VesselOwnerLoginPage } from './features/vessel-owner/pages/VesselOwnerLoginPage'; import { VesselOwnerRegisterPage } from './features/vessel-owner/pages/VesselOwnerRegisterPage'; import { VesselOwnerDashboardPage } from './features/vessel-owner/pages/VesselOwnerDashboardPage'; export const router = createBrowserRouter([ // Public auth pages { path: '/login', element: }, { path: '/signup', element: }, // Protected auth pages { element: , path: '/otp-verify', }, { element: , path: '/forgot-password', }, { element: , path: '/profile-setup', }, // Portal — protected { element: ( ), children: [ { path: '/', element: }, { path: '/dashboard', element: }, // Seafarer { path: '/seafarer-registration', element: }, { path: '/seafarer-registry', element: }, { path: '/seafarer-registry/:id', element: }, // Phase 1 { path: '/documents', element: }, { path: '/seaman-book', element: }, { path: '/seaman-book/apply', element: }, { path: '/notifications', element: }, // Basic Safety Training { path: '/basic-safety-training', element: }, // Phase 2 — CoC / CoP { path: '/certificates', element: }, { path: '/certificates/apply', element: }, // Phase 3 — Endorsement { path: '/endorsements', element: }, // Vessel Registration { path: '/vessel-registration', element: }, { path: '/vessel-registration/apply', element: }, { path: '/vessel-registration/transfer', element: }, // Vessel Owner Portal — public login/register { path: '/vessel-owner/login', element: }, { path: '/vessel-owner/register', element: }, // General { path: '/profile', element: }, { path: '/support', element: }, ], }, { path: '*', element: }, ]);