import { Box, Button, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { updateQuestion } from "@root/questions/actions"; import CustomCheckbox from "@ui_kit/CustomCheckbox"; import ProportionsIcon11 from "../../../assets/icons/questionsPage/ProportionsIcon11"; import ProportionsIcon12 from "../../../assets/icons/questionsPage/ProportionsIcon12"; import ProportionsIcon21 from "../../../assets/icons/questionsPage/ProportionsIcon21"; import type { QuizQuestionImages } from "../../../model/questionTypes/images"; import { memo } from "react"; type Proportion = "1:1" | "2:1" | "1:2"; type ProportionItem = { value: Proportion; icon: (props: { color: string }) => JSX.Element; }; const PROPORTIONS: ProportionItem[] = [ { value: "1:1", icon: ProportionsIcon11 }, { value: "2:1", icon: ProportionsIcon21 }, { value: "1:2", icon: ProportionsIcon12 }, ]; type SettingOpytionsPictProps = { questionId: string; isRequired: boolean; }; const SettingOptionsPict = memo(function ({ questionId, isRequired, }) { const theme = useTheme(); const isTablet = useMediaQuery(theme.breakpoints.down(985)); const isMobile = useMediaQuery(theme.breakpoints.down(790)); const isFigmaTablte = useMediaQuery(theme.breakpoints.down(990)); return ( Настройки вопросов updateQuestion(questionId, (question) => { if (question.type !== "images") return; question.content.required = !target.checked; }) } /> ); }); SettingOptionsPict.displayName = "SettingOptionsPict"; export default SettingOptionsPict; interface Props { Icon: (props: { color: string }) => JSX.Element; isActive?: boolean; onClick: () => void; } export function SelectIconButton({ Icon, isActive = false, onClick }: Props) { const theme = useTheme(); return (