import './App.css';
import './Fonts.css';
import Sidebar from './Emelents/Sidebar';
import { createBrowserRouter, RouterProvider } from 'react-router';
import IndexElement from './Emelents/IndexElement';
import ClassesList from './Emelents/ClassList';
import Topbar from './Emelents/Topbar';
import { AllowedLanguages, LanguageContext } from './Locales/Context';
import { useEffect, useState } from 'react';
import { ReadCurrentLocale, SaveCurrentLocale } from './Locales/Locales';
import LegalNote from './Emelents/LegalNote';
import WeaponsIndex from './Pages/Weapons';
import { AuthContext, GetUserInfo } from './Authentication/ContextProvider';
import { useCookies } from 'react-cookie';
import LoginPage from './Authentication/LoginPage';
import LogoutPage from './Authentication/LogoutPage';
import { User } from './Authentication/Models';
import RegisterPage from './Authentication/RegisterPage';
import { EditRangedWeaponPage, RangedWeaponPage } from './Pages/RangedWeapon';
import ErrorHandler from './ErrorHandler';
const router = createBrowserRouter([
{
index: true,
errorElement: (),
element: (),
},
{
path: "/classes",
element: (),
},
{
path: "/weapons",
element: (),
},
{
path: "/weapons/:id/edit",
errorElement: (),
element: (),
},
{
path: "/weapons/:id",
element: (),
},
// auth
{
path: "/login",
element: (),
},
{
path: "/register",
element: (),
},
{
path: "/logout",
element: (),
},
]);
function App() {
const [lang, setLang] = useState(ReadCurrentLocale());
function SetLanguage(newLang: AllowedLanguages) {
console.log(`Setting a new language ${newLang}...`);
SaveCurrentLocale(newLang);
setLang(newLang);
}
const [authCookie, ] = useCookies(['X-AUTH-TOKEN']);
const [auth, setAuth] = useState(null);
useEffect(() => {
GetUserInfo(authCookie['X-AUTH-TOKEN']).then(
v => {
console.log(v);
if (!v || v == undefined)
document.cookie = "X-AUTH-TOKEN=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
setAuth(v);
}
);
}, []);
return (
);
}
export default App;