diff options
| author | physcik <mynameisgennadiy@vk.com> | 2026-04-28 23:33:59 +0500 |
|---|---|---|
| committer | physcik <mynameisgennadiy@vk.com> | 2026-04-28 23:33:59 +0500 |
| commit | 533c04d9558bd0a575671c157ca42236f59a2c5a (patch) | |
| tree | 895ec8672f9633fd6cfef85f6a12921fc5339ab3 /front/src/App.tsx | |
| parent | ec5ef35ed47b90b9f09199d28f7885f8287815a8 (diff) | |
frontend auth
Diffstat (limited to 'front/src/App.tsx')
| -rw-r--r-- | front/src/App.tsx | 42 |
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; |
