frontPanel/src/index.tsx

77 lines
2.1 KiB
TypeScript
Raw Normal View History

2024-02-20 08:04:32 +00:00
import { CssBaseline, ThemeProvider, Button } from "@mui/material";
2023-10-09 12:33:45 +00:00
import { LocalizationProvider } from "@mui/x-date-pickers";
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
2023-12-31 02:53:25 +00:00
import { ruRU } from "@mui/x-date-pickers/locales";
2023-11-08 12:51:40 +00:00
import App from "./App";
import dayjs from "dayjs";
import "dayjs/locale/ru";
2024-02-20 08:04:32 +00:00
import { SnackbarProvider, closeSnackbar } from "notistack";
2023-11-08 12:51:40 +00:00
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";
2023-11-13 18:04:51 +00:00
import { SWRConfig } from "swr";
2023-12-31 02:53:25 +00:00
import { BrowserRouter } from "react-router-dom";
import moment from "moment";
2024-02-20 08:04:32 +00:00
import CloseIcon from "@icons/CloseBold";
import type { HTMLAttributes } from "react";
import type { SnackbarKey } from "notistack";
2023-10-09 12:33:45 +00:00
dayjs.locale("ru");
moment.locale("ru");
2023-10-09 12:33:45 +00:00
2023-12-31 02:53:25 +00:00
const localeText =
ruRU.components.MuiLocalizationProvider.defaultProps.localeText;
2023-04-23 08:39:34 +00:00
2024-02-20 08:04:32 +00:00
const snackbarProps: HTMLAttributes<HTMLDivElement> = {
onTouchStart: () => closeSnackbar(),
};
const snackbarAction = (snackbarId: SnackbarKey) => (
<Button
onClick={() => closeSnackbar(snackbarId)}
sx={{
minWidth: "auto",
padding: "0px",
"&:hover": { backgroundColor: "transparent" },
}}
>
<CloseIcon />
</Button>
);
2023-08-11 07:25:28 +00:00
const root = createRoot(document.getElementById("root")!);
root.render(
2023-12-31 02:53:25 +00:00
<SWRConfig
value={{
revalidateOnFocus: false,
shouldRetryOnError: false,
}}
>
<DndProvider backend={HTML5Backend}>
<LocalizationProvider
dateAdapter={AdapterDayjs}
adapterLocale="ru"
localeText={localeText}
>
<ThemeProvider theme={lightTheme}>
<BrowserRouter>
<SnackbarProvider
2024-02-20 08:04:32 +00:00
SnackbarProps={snackbarProps}
action={snackbarAction}
2023-12-31 02:53:25 +00:00
preventDuplicate={true}
style={{ backgroundColor: lightTheme.palette.brightPurple.main }}
>
<CssBaseline />
<App />
</SnackbarProvider>
</BrowserRouter>
</ThemeProvider>
</LocalizationProvider>
</DndProvider>
</SWRConfig>,
2022-12-03 21:37:21 +00:00
);