import { EmojiIcons } from "@icons/EmojiIocns"; import AddEmoji from "@icons/questionsPage/addEmoji"; import PlusImage from "@icons/questionsPage/plus"; import { Box, Link, Popover, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { addQuestionVariant, updateQuestion } from "@root/questions/actions"; import { EmojiPicker } from "@ui_kit/EmojiPicker"; import { useState } from "react"; import { EnterIcon } from "../../../assets/icons/questionsPage/enterIcon"; import type { QuizQuestionEmoji } from "../../../model/questionTypes/emoji"; import { AnswerDraggableList } from "../AnswerDraggableList"; import ButtonsOptions from "../ButtonsOptions"; import SwitchEmoji from "./switchEmoji"; import { useAddAnswer } from "../../../utils/hooks/useAddAnswer"; interface Props { question: QuizQuestionEmoji; openBranchingPage: boolean; setOpenBranchingPage: (a: boolean) => void; } export default function Emoji({ question, openBranchingPage, setOpenBranchingPage, }: Props) { const [switchState, setSwitchState] = useState("setting"); const onClickAddAnAnswer = useAddAnswer(); const [open, setOpen] = useState(false); const [anchorElement, setAnchorElement] = useState( null, ); const [selectedVariant, setSelectedVariant] = useState(null); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(790)); const isTablet = useMediaQuery(theme.breakpoints.down(1000)); const SSHC = (data: string) => { setSwitchState(data); }; return ( <> ( <> {!isTablet && ( { setAnchorElement(currentTarget); setSelectedVariant(variant.id); setOpen(true); }} > {variant.extendedText ? ( {variant.extendedText} ) : ( )} )} )} additionalMobile={(variant) => ( <> {isTablet && ( { setAnchorElement(currentTarget); setSelectedVariant(variant.id); setOpen(true); }} sx={{ display: "flex", alignItems: "center", m: "8px", position: "relative", }} > {variant.extendedText ? ( {variant.extendedText} ) : ( )} + )} )} /> event.stopPropagation()} onClose={() => setOpen(false)} anchorOrigin={{ vertical: "bottom", horizontal: "right", }} sx={{ ".MuiPaper-root.MuiPaper-rounded": { borderRadius: "10px", }, }} > { setOpen(false); updateQuestion(question.id, (question) => { if (question.type !== "emoji") return; const variant = question.content.variants.find( (v) => v.id === selectedVariant, ); if (!variant) return; variant.extendedText = native; }); }} /> onClickAddAnAnswer(question)} > Добавьте ответ {!isTablet && ( <> или нажмите Enter )} ); }