import { QuizQuestionRating } from "@model/questionTypes/rating"; import { Box, ButtonBase, Slider, Typography, useMediaQuery, useTheme, } from "@mui/material"; import { updateQuestion } from "@root/questions/actions"; import CustomCheckbox from "@ui_kit/CustomCheckbox"; 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 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; }); }} /> ); }