frontPanel/src/index.tsx

69 lines
2.9 KiB
TypeScript
Raw Normal View History

import React from "react";
2023-08-11 07:25:28 +00:00
import { createRoot } from "react-dom/client";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
import "./index.css";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import lightTheme from "./utils/themes/light";
import { ThemeProvider } from "@mui/material";
2023-03-01 22:59:51 +00:00
import StartPage from "./pages/startPage/StartPage";
import Main from "./pages/main";
import QuestionsPage from "./pages/Questions/QuestionsPage";
import ContactFormPage from "./pages/ContactFormPage/ContactFormPage";
import InstallQuiz from "./pages/InstallQuiz/InstallQuiz";
import { Result } from "./pages/Result/Result";
import { Setting } from "./pages/Result/Setting";
import MyQuizzesFull from "./pages/createQuize/MyQuizzesFull";
import ContactFormModal from "@ui_kit/ContactForm";
2023-08-12 08:31:21 +00:00
import ImageCrop from "@ui_kit/Modal/ImageCrop";
2023-10-04 22:21:17 +00:00
import Landing from "./pages/Landing/Landing";
import { SnackbarProvider } from 'notistack'
2023-10-09 12:33:45 +00:00
import { LocalizationProvider } from "@mui/x-date-pickers";
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
import "dayjs/locale/ru";
import dayjs from "dayjs";
import { ruRU } from '@mui/x-date-pickers/locales';
dayjs.locale("ru");
const localeText = ruRU.components.MuiLocalizationProvider.defaultProps.localeText;
2023-04-23 08:39:34 +00:00
2023-08-11 07:25:28 +00:00
const routeslink: {
2023-10-09 12:33:45 +00:00
path: string;
page: JSX.Element;
header: boolean;
sidebar: boolean;
2023-08-11 07:25:28 +00:00
}[] = [
2023-10-04 22:21:17 +00:00
{ path: "/list", page: <MyQuizzesFull />, header: false, sidebar: false },
{ path: "/questions/:quizId", page: <QuestionsPage />, header: true, sidebar: true,},
{ path: "/contacts", page: <ContactFormPage />, header: true, sidebar: true },
{ path: "/result", page: <Result />, header: true, sidebar: true },
{ path: "/settings", page: <Setting />, header: true, sidebar: true },
{ path: "/install", page: <InstallQuiz />, header: true, sidebar: true },
];
2023-08-11 07:25:28 +00:00
const root = createRoot(document.getElementById("root")!);
root.render(
2023-10-09 12:33:45 +00:00
<DndProvider backend={HTML5Backend}>
<LocalizationProvider dateAdapter={AdapterDayjs} adapterLocale="ru" localeText={localeText}>
<ThemeProvider theme={lightTheme}>
2023-10-14 22:54:39 +00:00
<SnackbarProvider>
<ContactFormModal />
<BrowserRouter>
<Routes>
{routeslink.map((e, i) => (
<Route key={i} path={e.path} element={<Main page={e.page} header={e.header} sidebar={e.sidebar} />} />
))}
<Route path="setting/:quizId" element={<StartPage />} />
<Route path="crop" element={<ImageCrop />} />
<Route path="/" element={<Landing/>}/>
</Routes>
</BrowserRouter>
</SnackbarProvider>
2023-10-09 12:33:45 +00:00
</ThemeProvider>
</LocalizationProvider>
</DndProvider>
2022-12-03 21:37:21 +00:00
);