import { QuizQuestionRating } from "@model/questionTypes/rating"; import { Box, ButtonBase, Slider, Tooltip, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { setQuestionInnerName, updateQuestion } from "@root/questions/actions"; import CustomCheckbox from "@ui_kit/CustomCheckbox"; import CustomTextField from "@ui_kit/CustomTextField"; import { useDebouncedCallback } from "use-debounce"; import InfoIcon from "../../../assets/icons/InfoIcon"; import FlagIcon from "../../../assets/icons/questionsPage/FlagIcon"; import StarIconMini from "../../../assets/icons/questionsPage/StarIconMini"; import HashtagIcon from "../../../assets/icons/questionsPage/hashtagIcon"; import HeartIcon from "../../../assets/icons/questionsPage/heartIcon"; import LightbulbIcon from "../../../assets/icons/questionsPage/lightbulbIcon"; import LikeIcon from "../../../assets/icons/questionsPage/likeIcon"; import TropfyIcon from "../../../assets/icons/questionsPage/tropfyIcon"; import type { ButtonRatingFrom } from "./RatingOptions"; type SettingSliderProps = { question: QuizQuestionRating; }; export default function SettingSlider({ question }: SettingSliderProps) { const theme = useTheme(); const isFigmaTablte = useMediaQuery(theme.breakpoints.down(990)); const isMobile = useMediaQuery(theme.breakpoints.down(790)); const isWrappColumn = useMediaQuery(theme.breakpoints.down(980)); const setInnerName = useDebouncedCallback((value) => { setQuestionInnerName(question.id, value); }, 200); const buttonRatingForm: ButtonRatingFrom[] = [ { name: "star", icon: }, { name: "trophie", icon: }, { name: "flag", icon: }, { name: "heart", icon: }, { name: "like", icon: }, { name: "bubble", icon: , }, { name: "hashtag", icon: }, ]; return ( Настройки рейтинга Форма {buttonRatingForm.map(({ name, icon }, index) => ( { updateQuestion(question.id, (question) => { if (question.type !== "rating") return; question.content.form = name; }); }} sx={{ backgroundColor: question.content.form === name ? theme.palette.brightPurple.main : "transparent", color: question.content.form === name ? "#ffffff" : theme.palette.grey3.main, width: "40px", height: "40px", borderRadius: "4px", }} > {icon} ))} Количество { updateQuestion(question.id, (question) => { if (question.type !== "rating") return; question.content.steps = Number(value) || 1; }); }} /> Настройки вопросов { updateQuestion(question.id, (question) => { if (question.type !== "rating") return; question.content.required = !e.target.checked; }); }} /> {/**/} {/* {*/} {/* updateQuestion(question.id, question => {*/} {/* if (question.type !== "rating") return;*/} {/* question.content.innerNameCheck = target.checked;*/} {/* question.content.innerName = target.checked ? question.content.innerName : "";*/} {/* });*/} {/* }}*/} {/* />*/} {/* */} {/* */} {/* */} {/* */} {/* */} {/**/} {/*{question.content.innerNameCheck && (*/} {/* setInnerName(target.value)}*/} {/* />*/} {/*)}*/} ); }