Co-authored-by: Rares Stefan <948623+StephixOne@users.noreply.github.com> Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { lazy, Suspense } from "react"
|
|
import {
|
|
createBrowserRouter,
|
|
createRoutesFromElements,
|
|
Route,
|
|
RouterProvider,
|
|
} from "react-router-dom"
|
|
import Spinner from "./components/atoms/spinner"
|
|
|
|
const NotFound = lazy(() => import("./pages/404"))
|
|
const Dashboard = lazy(() => import("./pages/a"))
|
|
const IndexPage = lazy(() => import("./pages/index"))
|
|
const InvitePage = lazy(() => import("./pages/invite"))
|
|
const LoginPage = lazy(() => import("./pages/login"))
|
|
const ResetPasswordPage = lazy(() => import("./pages/reset-password"))
|
|
|
|
const router = createBrowserRouter(
|
|
createRoutesFromElements(
|
|
<>
|
|
<Route path="/" element={<IndexPage />} />
|
|
<Route path="a/*" element={<Dashboard />} />
|
|
<Route path="invite" element={<InvitePage />} />
|
|
<Route path="login" element={<LoginPage />} />
|
|
<Route path="reset-password" element={<ResetPasswordPage />} />
|
|
<Route path="*" element={<NotFound />} />
|
|
</>
|
|
),
|
|
{
|
|
basename: process.env.ADMIN_PATH,
|
|
}
|
|
)
|
|
|
|
const Loading = () => (
|
|
<div className="bg-grey-5 text-grey-90 flex h-screen w-full items-center justify-center">
|
|
<Spinner variant="secondary" />
|
|
</div>
|
|
)
|
|
|
|
const App = () => (
|
|
<Suspense fallback={<Loading />}>
|
|
<RouterProvider router={router} />
|
|
</Suspense>
|
|
)
|
|
|
|
export default App
|