import { ImageAddIcons } from "@icons/ImageAddIcons"; import { VideofileIcon } from "@icons/questionsPage/VideofileIcon"; import { Box, Typography, useMediaQuery, useTheme } from "@mui/material"; import { questionStore, updateQuestionsList } from "@root/questions"; import CustomTextField from "@ui_kit/CustomTextField"; import { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { useDebouncedCallback } from "use-debounce"; import ButtonsOptions from "../ButtonsOptions"; import { UploadImageModal } from "../UploadImage/UploadImageModal"; import { UploadVideoModal } from "../UploadVideoModal"; import SwitchPageOptions from "./switchPageOptions"; import type { QuizQuestionPage } from "../../../model/questionTypes/page"; type Props = { disableInput?: boolean; totalIndex: number; }; export default function PageOptions({ disableInput, totalIndex }: Props) { const [openImageModal, setOpenImageModal] = useState(false); const [openVideoModal, setOpenVideoModal] = useState(false); const [switchState, setSwitchState] = useState("setting"); const quizId = Number(useParams().quizId); const { listQuestions } = questionStore(); const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(980)); const isFigmaTablet = useMediaQuery(theme.breakpoints.down(990)); const isMobile = useMediaQuery(theme.breakpoints.down(780)); const question = listQuestions[quizId][totalIndex] as QuizQuestionPage; const debounced = useDebouncedCallback((value) => { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, text: value }, }); }, 1000); const SSHC = (data: string) => { setSwitchState(data); }; return ( <> debounced(target.value)} /> setOpenImageModal(true)} sx={{ cursor: "pointer", display: "flex", alignItems: "center", gap: "20px", }} > {isMobile ? ( {question.content.picture ? ( ) : ( )} + ) : ( {question.content.picture ? ( ) : ( )} + )} Изображение setOpenImageModal(false)} imgHC={(fileList) => { if (fileList?.length) { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, picture: URL.createObjectURL(fileList[0]), }, }); } }} // onClick={() => setOpenVideoModal(true)} /> или {isMobile ? ( + ) : ( + )} Видео setOpenVideoModal(false)} video={question.content.video} onUpload={(url) => { updateQuestionsList(quizId, totalIndex, { content: { ...question.content, video: url }, }); }} /> ); }