2023-07-27 17:30:55 +00:00
|
|
|
import React from "react";
|
2023-08-11 07:25:28 +00:00
|
|
|
import { createRoot } from "react-dom/client";
|
2023-07-27 17:30:55 +00:00
|
|
|
import { DndProvider } from "react-dnd";
|
|
|
|
import { HTML5Backend } from "react-dnd-html5-backend";
|
|
|
|
import "./index.css";
|
|
|
|
import { BrowserRouter, Route, Routes } from "react-router-dom";
|
2023-04-11 18:29:38 +00:00
|
|
|
import lightTheme from "./utils/themes/light";
|
2023-10-23 15:38:58 +00:00
|
|
|
import { CssBaseline, ThemeProvider } from "@mui/material";
|
2023-03-01 22:59:51 +00:00
|
|
|
import StartPage from "./pages/startPage/StartPage";
|
2023-07-27 17:30:55 +00:00
|
|
|
import Main from "./pages/main";
|
2023-03-15 22:56:53 +00:00
|
|
|
import QuestionsPage from "./pages/Questions/QuestionsPage";
|
2023-04-11 18:29:38 +00:00
|
|
|
import ContactFormPage from "./pages/ContactFormPage/ContactFormPage";
|
2023-04-26 17:24:19 +00:00
|
|
|
import InstallQuiz from "./pages/InstallQuiz/InstallQuiz";
|
2023-07-27 17:30:55 +00:00
|
|
|
import { Result } from "./pages/Result/Result";
|
2023-05-03 23:25:35 +00:00
|
|
|
import { Setting } from "./pages/Result/Setting";
|
2023-05-10 11:40:39 +00:00
|
|
|
import MyQuizzesFull from "./pages/createQuize/MyQuizzesFull";
|
2023-10-07 06:10:50 +00:00
|
|
|
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";
|
2023-10-07 11:11:03 +00:00
|
|
|
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,},
|
2023-07-27 17:30:55 +00:00
|
|
|
{ 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-05-10 12:46:11 +00:00
|
|
|
|
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>
|
2023-10-23 15:38:58 +00:00
|
|
|
<CssBaseline />
|
2023-10-14 22:54:39 +00:00
|
|
|
<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
|
|
|
);
|