import { Box, Link, Typography, useMediaQuery, useTheme } from "@mui/material"; import { openCropModal } from "@root/cropModal"; import { closeImageUploadModal, openImageUploadModal } from "@root/imageUploadModal"; import { addQuestionVariant, setVariantImageUrl, setVariantOriginalImageUrl } from "@root/questions/actions"; import AddOrEditImageButton from "@ui_kit/AddOrEditImageButton"; import { CropModal } from "@ui_kit/Modal/CropModal"; import { useState } from "react"; import { EnterIcon } from "../../../assets/icons/questionsPage/enterIcon"; import type { QuizQuestionImages } from "../../../model/questionTypes/images"; import { AnswerDraggableList } from "../AnswerDraggableList"; import ButtonsOptions from "../ButtonsOptions"; import { UploadImageModal } from "../UploadImage/UploadImageModal"; import SwitchAnswerOptionsPict from "./switchOptionsPict"; interface Props { question: QuizQuestionImages; } export default function OptionsPicture({ question }: Props) { const theme = useTheme(); const [selectedVariantId, setSelectedVariantId] = useState(null); const [switchState, setSwitchState] = useState("setting"); const isMobile = useMediaQuery(theme.breakpoints.down(790)); const SSHC = (data: string) => { setSwitchState(data); }; const handleImageUpload = (files: FileList | null) => { if (!files?.length || !selectedVariantId) return; const [file] = Array.from(files); const url = URL.createObjectURL(file); setVariantImageUrl(question.id, selectedVariantId, url); setVariantOriginalImageUrl(question.id, selectedVariantId, url); closeImageUploadModal(); openCropModal(url, url); }; function handleCropModalSaveClick(url: string) { if (!selectedVariantId) return; setVariantImageUrl(question.id, selectedVariantId, url); } return ( <> ( <> {!isMobile && ( { if (!("originalImageUrl" in variant)) return; setSelectedVariantId(variant.id); if (variant.extendedText) { return openCropModal( variant.extendedText, variant.originalImageUrl || "" ); } openImageUploadModal(); }} onPlusClick={() => { setSelectedVariantId(variant.id); openImageUploadModal(); }} sx={{ mx: "10px" }} /> )} )} additionalMobile={(variant) => ( <> {isMobile && ( { if (!("originalImageUrl" in variant)) return; setSelectedVariantId(variant.id); if (variant.extendedText) { return openCropModal( variant.extendedText, variant.originalImageUrl || "" ); } openImageUploadModal(); }} onPlusClick={() => { setSelectedVariantId(variant.id); openImageUploadModal(); }} sx={{ m: "8px", width: "auto" }} /> )} )} /> addQuestionVariant(question.id)} > Добавьте ответ {isMobile ? null : ( <> или нажмите Enter )} ); }