2024-01-29 11:16:02 +00:00
|
|
|
import { Box, CssBaseline, ThemeProvider } from "@mui/material";
|
2024-01-20 12:25:08 +00:00
|
|
|
import { LocalizationProvider } from "@mui/x-date-pickers";
|
2024-01-22 00:38:53 +00:00
|
|
|
import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment";
|
2024-01-20 12:25:08 +00:00
|
|
|
import { ruRU } from '@mui/x-date-pickers/locales';
|
2024-01-22 00:38:53 +00:00
|
|
|
import moment from "moment";
|
2024-01-20 12:25:08 +00:00
|
|
|
import { SnackbarProvider } from 'notistack';
|
|
|
|
import { SWRConfig } from "swr";
|
2023-12-16 14:55:56 +00:00
|
|
|
import { ViewPage } from "./pages/ViewPublicationPage";
|
2024-01-20 12:25:08 +00:00
|
|
|
import lightTheme from "./utils/themes/light";
|
2023-12-16 14:55:56 +00:00
|
|
|
|
|
|
|
|
2024-01-31 14:39:50 +00:00
|
|
|
const defaultQuizId = "ef836ff8-35b1-4031-9acf-af5766bac2b2";
|
|
|
|
|
2024-01-22 00:38:53 +00:00
|
|
|
moment.locale("ru");
|
2024-01-20 12:25:08 +00:00
|
|
|
const localeText = ruRU.components.MuiLocalizationProvider.defaultProps.localeText;
|
2023-12-16 14:55:56 +00:00
|
|
|
|
2024-01-29 11:16:02 +00:00
|
|
|
interface Props {
|
|
|
|
widget?: boolean;
|
2024-01-31 14:39:50 +00:00
|
|
|
quizId?: string;
|
2024-01-29 11:16:02 +00:00
|
|
|
}
|
|
|
|
|
2024-01-31 14:39:50 +00:00
|
|
|
export default function App({ widget = false, quizId }: Props) {
|
|
|
|
quizId ??= defaultQuizId;
|
2023-12-16 14:55:56 +00:00
|
|
|
|
2024-01-20 12:25:08 +00:00
|
|
|
return (
|
|
|
|
<SWRConfig value={{
|
|
|
|
revalidateOnFocus: false,
|
|
|
|
shouldRetryOnError: false,
|
|
|
|
}}>
|
2024-01-22 00:38:53 +00:00
|
|
|
<LocalizationProvider dateAdapter={AdapterMoment} adapterLocale="ru" localeText={localeText}>
|
2024-01-20 12:25:08 +00:00
|
|
|
<ThemeProvider theme={lightTheme}>
|
2024-01-29 11:16:02 +00:00
|
|
|
<SnackbarProvider
|
|
|
|
preventDuplicate={true}
|
|
|
|
style={{ backgroundColor: lightTheme.palette.brightPurple.main }}
|
|
|
|
>
|
|
|
|
<CssBaseline />
|
2024-01-31 14:39:50 +00:00
|
|
|
{widget ? (
|
2024-01-29 11:16:02 +00:00
|
|
|
<Box sx={{
|
|
|
|
width: "100%",
|
|
|
|
height: "100%",
|
|
|
|
}}>
|
2024-01-31 14:39:50 +00:00
|
|
|
<ViewPage quizId={quizId} />
|
2024-01-29 11:16:02 +00:00
|
|
|
</Box>
|
2024-01-31 14:39:50 +00:00
|
|
|
) : (
|
2024-01-29 11:16:02 +00:00
|
|
|
<Box sx={{
|
|
|
|
height: "100dvh",
|
|
|
|
}}>
|
2024-01-31 14:39:50 +00:00
|
|
|
<ViewPage quizId={quizId} />
|
2024-01-29 11:16:02 +00:00
|
|
|
</Box>
|
2024-01-31 14:39:50 +00:00
|
|
|
)}
|
2024-01-29 11:16:02 +00:00
|
|
|
</SnackbarProvider>
|
2024-01-20 12:25:08 +00:00
|
|
|
</ThemeProvider>
|
|
|
|
</LocalizationProvider>
|
|
|
|
</SWRConfig>
|
|
|
|
);
|
2023-12-16 14:55:56 +00:00
|
|
|
}
|