mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 02:33:01 +00:00
this replaces auth-provider, centralising user data can be extended to keep additional data allows for user data to propogate components throughout the app provides useSession and useAuthenticatedSession()
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import "./App.css";
|
|
import React from "react";
|
|
import ReactDOM from "react-dom/client";
|
|
import { BrowserRouter, Route, Routes } from "react-router-dom";
|
|
import { RequireAuth, SessionProvider } from "@/components/session-provider";
|
|
import { ThemeProvider } from "@/components/theme-provider";
|
|
import App from "@/pages/App";
|
|
import Landing from "@/pages/Landing";
|
|
import Login from "@/pages/Login";
|
|
import NotFound from "@/pages/NotFound";
|
|
import Test from "@/pages/Test";
|
|
|
|
ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
|
|
<React.StrictMode>
|
|
<ThemeProvider defaultTheme="dark" storageKey="vite-ui-theme">
|
|
<BrowserRouter>
|
|
<SessionProvider>
|
|
<Routes>
|
|
{/* public routes */}
|
|
<Route path="/" element={<Landing />} />
|
|
<Route path="/login" element={<Login />} />
|
|
|
|
{/* authed routes */}
|
|
<Route
|
|
path="/app"
|
|
element={
|
|
<RequireAuth>
|
|
<App />
|
|
</RequireAuth>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/test"
|
|
element={
|
|
<RequireAuth>
|
|
<Test />
|
|
</RequireAuth>
|
|
}
|
|
/>
|
|
|
|
<Route path="*" element={<NotFound />} />
|
|
</Routes>
|
|
</SessionProvider>
|
|
</BrowserRouter>
|
|
</ThemeProvider>
|
|
</React.StrictMode>,
|
|
);
|