import { useParams } from "react-router-dom"; import { Box, Button, Typography, useTheme, useMediaQuery, } from "@mui/material"; import useSWR from "swr"; import { isAxiosError } from "axios"; import { enqueueSnackbar } from "notistack"; import { devlog } from "@frontend/kitui"; import { quizApi } from "@api/quiz"; import { useQuizStore } from "@root/quizes/store"; import { useQuestions } from "@root/questions/hooks"; import { setQuizes } from "@root/quizes/actions"; type StartPageViewPublicationProps = { setVisualStartPage: (bool: boolean) => void; showNextButton:boolean }; export const StartPageViewPublication = ({ setVisualStartPage, showNextButton }: StartPageViewPublicationProps) => { const quizId = Number(useParams().quizId); const { quizes } = useQuizStore(); const { questions } = useQuestions(); const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(630)); const quiz = quizes.find(({ backendId }) => quizId === backendId); const isMediaFileExist = quiz?.config.startpage.background.desktop || quiz?.config.startpage.background.video; useSWR("quizes", () => quizApi.getList(), { onSuccess: setQuizes, onError: (error: unknown) => { const message = isAxiosError(error) ? error.response?.data ?? "" : ""; devlog("Error getting quiz list", error); enqueueSnackbar(`Не удалось получить квизы. ${message}`); }, }); return ( {quiz?.config.startpage.background.mobile && ( )} {quiz?.config.info.orgname} {quiz?.name} {quiz?.config.startpage.description} {quiz?.config.info.phonenumber} {quiz?.config.info.law} {!isTablet && isMediaFileExist && ( {quiz?.config.startpage.background.mobile && ( )} {quiz.config.startpage.background.type === "video" && quiz.config.startpage.background.video && ( )} ); };