import { PointsIcon } from "@icons/questionsPage/PointsIcon"; import { DeleteIcon } from "@icons/questionsPage/deleteIcon"; import { Box, FormControl, IconButton, InputAdornment, TextField as MuiTextField, TextFieldProps, useMediaQuery, useTheme, } from "@mui/material"; import { addQuestionVariant, deleteQuestionVariant, setQuestionVariantField, } from "@root/questions/actions"; import { enqueueSnackbar } from "notistack"; import type { ChangeEvent, FC, KeyboardEvent, ReactNode } from "react"; import { Draggable } from "react-beautiful-dnd"; import type { QuestionVariant } from "../../../model/questionTypes/shared"; const TextField = MuiTextField as unknown as FC; type AnswerItemProps = { index: number; questionId: string; variant: QuestionVariant; largeCheck: boolean; disableKeyDown?: boolean; additionalContent?: ReactNode; additionalMobile?: ReactNode; }; export const AnswerItem = ({ index, variant, questionId, largeCheck, additionalContent, additionalMobile, disableKeyDown, }: AnswerItemProps) => { const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(790)); return ( {(provided) => ( ) => { if (target.value.length <= 1000) { setQuestionVariantField( questionId, variant.id, "answer", target.value || " ", ); } }} onKeyDown={(event: KeyboardEvent) => { if (disableKeyDown) { enqueueSnackbar("100 максимальное количество вопросов"); } else if (event.code === "Enter" && !largeCheck) { addQuestionVariant(questionId); } }} InputProps={{ startAdornment: ( <> {additionalContent} ), endAdornment: ( {/**/} {/* */} {/**/} {/**/} {/* */} {/* setQuestionVariantAnswer(e.target.value || " ")*/} {/* }*/} {/* onKeyDown={(*/} {/* event: KeyboardEvent,*/} {/* ) => event.stopPropagation()}*/} {/* />*/} {/**/} deleteQuestionVariant(questionId, variant.id) } > ), }} sx={{ "& .MuiInputBase-root": { padding: additionalContent ? "5px 13px" : "13px", borderRadius: "10px", background: "#ffffff", "& input.MuiInputBase-input": { height: "22px", }, "& textarea.MuiInputBase-input": { marginTop: "1px", }, "& .MuiOutlinedInput-notchedOutline": { border: "none", }, }, }} inputProps={{ sx: { fontSize: "18px", lineHeight: "21px", py: 0, ml: "13px", }, "data-cy": "quiz-variant-question-answer", }} /> {additionalMobile} )} ); };