import { quizApi } from "@api/quiz"; import { devlog } from "@frontend/kitui"; import { Box, Button, SxProps, Theme, Typography, useMediaQuery, useTheme, } from "@mui/material"; import SectionWrapper from "@ui_kit/SectionWrapper"; import { isAxiosError } from "axios"; import { enqueueSnackbar } from "notistack"; import React from "react"; import { useNavigate } from "react-router-dom"; import useSWR from "swr"; import ComplexNavText from "./ComplexNavText"; import FirstQuiz from "./FirstQuiz"; import QuizCard from "./QuizCard"; import { setQuizes, createQuiz } from "@root/quizes/actions"; import { useQuizArray } from "@root/quizes/hooks"; interface Props { outerContainerSx?: SxProps; children?: React.ReactNode; } export default function MyQuizzesFull({ outerContainerSx: sx, children, }: Props) { useSWR("quizes", () => quizApi.getList(), { onSuccess: setQuizes, onError: error => { const message = isAxiosError(error) ? (error.response?.data ?? "") : ""; devlog("Error getting quiz list", error); enqueueSnackbar(`Не удалось получить квизы. ${message}`); }, }); const quizArray = useQuizArray(); const navigate = useNavigate(); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(500)); return ( <> {quizArray.length === 0 ? ( ) : ( Мои квизы {quizArray.map(quiz => ( ))} {children} )} ); }