summaryrefslogtreecommitdiff
path: root/front/src/App.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'front/src/App.tsx')
-rw-r--r--front/src/App.tsx42
1 files changed, 29 insertions, 13 deletions
diff --git a/front/src/App.tsx b/front/src/App.tsx
index 2f69086..c106139 100644
--- a/front/src/App.tsx
+++ b/front/src/App.tsx
@@ -6,11 +6,15 @@ import IndexElement from './Emelents/IndexElement';
import ClassesList from './Emelents/ClassList';
import Topbar from './Emelents/Topbar';
import { AllowedLanguages, LanguageContext } from './Locales/Context';
-import { useState } from 'react';
+import { useEffect, useState } from 'react';
import { ReadCurrentLocale, SaveCurrentLocale } from './Locales/Locales';
import LegalNote from './Emelents/LegalNote';
import WeaponsIndex from './Pages/Weapons';
import RangedWeaponPage from './Pages/RangedWeapon';
+import { AuthContext, Authentication, GetUserInfo } from './Authentication/ContextProvider';
+import { useCookies } from 'react-cookie';
+import LoginPage from './Authentication/LoginPage';
+import { User } from './Authentication/Models';
const router = createBrowserRouter([
{
@@ -29,6 +33,10 @@ const router = createBrowserRouter([
path: "/weapons/:id",
element: (<RangedWeaponPage />),
},
+ {
+ path: "/login",
+ element: (<LoginPage />),
+ },
]);
function App() {
@@ -40,20 +48,28 @@ function App() {
setLang(newLang);
}
+ const [authCookie, ] = useCookies(['X-AUTH-TOKEN']);
+ const [auth, setAuth] = useState<User | null>(null);
+ useEffect(() => {
+ GetUserInfo(authCookie['X-AUTH-TOKEN']).then(v => setAuth(v));
+ }, []);
+
return (
- <LanguageContext.Provider value={lang}>
- <div className='App'>
- <Topbar />
- <div className='AppContents'>
- <Sidebar
- setLang={SetLanguage}
- />
- <RouterProvider router={router} />
+ <AuthContext.Provider value={auth}>
+ <LanguageContext.Provider value={lang}>
+ <div className='App'>
+ <Topbar />
+ <div className='AppContents'>
+ <Sidebar
+ setLang={SetLanguage}
+ />
+ <RouterProvider router={router} />
+ </div>
+ <LegalNote />
</div>
- <LegalNote />
- </div>
- </LanguageContext.Provider>
+ </LanguageContext.Provider>
+ </AuthContext.Provider>
);
}
-export default App;
+export default App;