frontAnswerer/src/App.tsx

44 lines
1019 B
TypeScript
Raw Normal View History

2023-12-16 14:55:56 +00:00
import dayjs from "dayjs";
import "dayjs/locale/ru";
import { ViewPage } from "./pages/ViewPublicationPage";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import "./index.css";
import {
clearAuthToken,
getMessageFromFetchError,
useUserFetcher,
} from "@frontend/kitui";
import { clearUserData, setUser, useUserStore } from "@root/user";
import { enqueueSnackbar } from "notistack";
dayjs.locale("ru");
export default function App() {
const userId = useUserStore((state) => state.userId);
useUserFetcher({
url: `https://hub.pena.digital/user/${userId}`,
userId,
onNewUser: setUser,
onError: (error) => {
const errorMessage = getMessageFromFetchError(error);
if (errorMessage) {
enqueueSnackbar(errorMessage);
clearUserData();
clearAuthToken();
}
},
});
return (
<>
<BrowserRouter>
<Routes>
<Route path="/view" element={<ViewPage />} />
</Routes>
</BrowserRouter>
</>
);
}