import React from 'react' import ReactDOM from 'react-dom/client' import { createBrowserRouter, RouterProvider, } from 'react-router-dom' import '@/assets/global.css' import App from '@/views/App' import Standlone from '@/views/Standlone' import Login from '@/views/Login' import Logout from '@/views/Logout' import ErrorPage from '@/components/ErrorPage' import RequireAuth from '@/components/RequireAuth' import ReservationNewest from '@/views/reservation/Newest' import ReservationDetail from '@/views/reservation/Detail' import ChangePassword from '@/views/account/ChangePassword' import AccountProfile from '@/views/account/Profile' import AccountManagement from '@/views/account/Management' import RoleList from '@/views/account/RoleList' import FeedbackIndex from '@/views/feedback/Index' import FeedbackDetail from '@/views/feedback/Detail' import FeedbackCustomerDetail from '@/views/feedback/CustomerDetail' import ReportIndex from '@/views/report/Index' import NoticeIndex from '@/views/notice/Index' import NoticeDetail from '@/views/notice/Detail' import InvoiceIndex from '@/views/invoice/Index' import InvoiceDetail from '@/views/invoice/Detail' import InvoicePaid from '@/views/invoice/Paid' import InvoicePaidDetail from '@/views/invoice/PaidDetail' import Airticket from '@/views/airticket/Index' import AirticketPlan from '@/views/airticket/Plan' import { ThemeContext } from '@/stores/ThemeContext' import { usingStorage } from '@/hooks/usingStorage' import useAuthStore from './stores/Auth' import { isNotEmpty } from '@/utils/commons' import ProductsManage from '@/views/products/Manage'; import ProductsDetail from '@/views/products/Detail'; import ProductsAudit from '@/views/products/Audit'; import { PERM_ACCOUNT_MANAGEMENT, PERM_ROLE_NEW, PERM_OVERSEA, PERM_AIR_TICKET, PERM_PRODUCTS_MANAGEMENT } from '@/config' import './i18n' const initRouter = async () => { return createBrowserRouter([ { path: '/', element: , errorElement: , children: [ { index: true, element: }, { path: 'account/change-password', element: }, { path: 'account/profile', element: }, { path: 'account/management', element: }, { path: 'account/role-list', element: }, { path: 'reservation/newest', element: }, { path: 'reservation/:reservationId', element: }, { path: 'feedback', element: }, { path: 'feedback/:GRI_SN/:CII_SN/:RefNo', element: }, { path: 'feedback/:GRI_SN/:RefNo', element: }, { path: 'report', element: }, { path: 'notice', element: }, { path: 'notice/:CCP_BLID', element: }, { path: 'invoice',element:}, { path: 'invoice/detail/:GMDSN/:GSN',element:}, { path: 'invoice/paid',element:}, { path: 'invoice/paid/detail/:flid', element: }, { path: 'airticket',element: }, { path: 'airticket/plan/:coli_sn',element:}, ] }, { element: , children: [ { path: '/login', element: }, { path: '/logout', element: }, ] } ]) } const initAppliction = async () => { const { loginToken, userId } = usingStorage() if (isNotEmpty(userId) && isNotEmpty(loginToken)) { await useAuthStore.getState().initAuth() } const router = await initRouter() ReactDOM.createRoot(document.getElementById('root')).render( //
Loading...
} />
//
) } initAppliction()