73 lines
2.1 KiB
TypeScript
Executable File
73 lines
2.1 KiB
TypeScript
Executable File
import { CssBaseline, ThemeProvider, Button } from "@mui/material";
|
|
import { LocalizationProvider } from "@mui/x-date-pickers";
|
|
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
|
|
import { ruRU } from "@mui/x-date-pickers/locales";
|
|
import App from "./App";
|
|
import dayjs from "dayjs";
|
|
import "dayjs/locale/ru";
|
|
import { SnackbarProvider, closeSnackbar } from "notistack";
|
|
import { DndProvider } from "react-dnd";
|
|
import { HTML5Backend } from "react-dnd-html5-backend";
|
|
import { createRoot } from "react-dom/client";
|
|
import "./index.css";
|
|
import lightTheme from "./utils/themes/light";
|
|
import { SWRConfig } from "swr";
|
|
import { BrowserRouter } from "react-router-dom";
|
|
import moment from "moment";
|
|
import { polyfillCountryFlagEmojis } from "country-flag-emoji-polyfill";
|
|
import CloseIcon from "@icons/CloseBold";
|
|
|
|
import type { SnackbarKey } from "notistack";
|
|
|
|
dayjs.locale("ru");
|
|
moment.locale("ru");
|
|
polyfillCountryFlagEmojis();
|
|
const localeText =
|
|
ruRU.components.MuiLocalizationProvider.defaultProps.localeText;
|
|
|
|
const snackbarAction = (snackbarId: SnackbarKey) => (
|
|
<Button
|
|
onClick={() => closeSnackbar(snackbarId)}
|
|
sx={{
|
|
minWidth: "auto",
|
|
padding: "0px",
|
|
"&:hover": { backgroundColor: "transparent" },
|
|
}}
|
|
>
|
|
<CloseIcon />
|
|
</Button>
|
|
);
|
|
|
|
const root = createRoot(document.getElementById("root")!);
|
|
|
|
root.render(
|
|
<SWRConfig
|
|
value={{
|
|
revalidateOnFocus: false,
|
|
shouldRetryOnError: false,
|
|
}}
|
|
>
|
|
<DndProvider backend={HTML5Backend}>
|
|
<LocalizationProvider
|
|
dateAdapter={AdapterDayjs}
|
|
adapterLocale="ru"
|
|
localeText={localeText}
|
|
>
|
|
<ThemeProvider theme={lightTheme}>
|
|
<BrowserRouter>
|
|
<SnackbarProvider
|
|
SnackbarProps={{ onTouchStart: () => closeSnackbar() }}
|
|
action={snackbarAction}
|
|
preventDuplicate={true}
|
|
style={{ backgroundColor: lightTheme.palette.brightPurple.main }}
|
|
>
|
|
<CssBaseline />
|
|
<App />
|
|
</SnackbarProvider>
|
|
</BrowserRouter>
|
|
</ThemeProvider>
|
|
</LocalizationProvider>
|
|
</DndProvider>
|
|
</SWRConfig>,
|
|
);
|