import { useParams } from "react-router-dom"; import { Box, ButtonBase, Slider, Typography, useMediaQuery, useTheme } from "@mui/material"; import CustomCheckbox from "@ui_kit/CustomCheckbox"; import CustomTextField from "@ui_kit/CustomTextField"; import { questionStore, updateQuestionsList } from "@root/questions"; import InfoIcon from "../../../assets/icons/InfoIcon"; import TropfyIcon from "../../../assets/icons/questionsPage/tropfyIcon"; import FlagIcon from "../../../assets/icons/questionsPage/FlagIcon"; import HeartIcon from "../../../assets/icons/questionsPage/heartIcon"; import LikeIcon from "../../../assets/icons/questionsPage/likeIcon"; import LightbulbIcon from "../../../assets/icons/questionsPage/lightbulbIcon"; import HashtagIcon from "../../../assets/icons/questionsPage/hashtagIcon"; import StarIconMini from "../../../assets/icons/questionsPage/StarIconMini"; type SettingSliderProps = { totalIndex: number; }; type ButtonRatingFrom = { name: string; icon: JSX.Element; }; export default function SettingSlider({ totalIndex }: SettingSliderProps) { const quizId = Number(useParams().quizId); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(790)); const isWrappColumn = useMediaQuery(theme.breakpoints.down(980)); const { listQuestions } = questionStore(); 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) => ( { const clonContent = listQuestions[quizId][totalIndex].content; clonContent.form = name; updateQuestionsList(quizId, totalIndex, { content: clonContent, }); }} sx={{ backgroundColor: listQuestions[quizId][totalIndex].content.form === name ? theme.palette.brightPurple.main : "transparent", color: listQuestions[quizId][totalIndex].content.form === name ? "#ffffff" : theme.palette.grey3.main, width: "40px", height: "40px", borderRadius: "4px", }} > {icon} ))} Количество { const clonContent = listQuestions[quizId][totalIndex].content; clonContent.steps = Number(value) || 1; updateQuestionsList(quizId, totalIndex, { content: clonContent }); }} /> Настройки вопросов { updateQuestionsList(quizId, totalIndex, { required: !e.target.checked, }); }} /> { let clonContent = listQuestions[quizId][totalIndex].content; clonContent.innerNameCheck = e.target.checked; if (!e.target.checked) { clonContent.innerName = ""; } updateQuestionsList(quizId, totalIndex, { content: clonContent }); }} />{" "} {listQuestions[quizId][totalIndex].content.innerNameCheck && ( { let clonContent = listQuestions[quizId][totalIndex].content; clonContent.innerName = target.value; updateQuestionsList(quizId, totalIndex, { content: clonContent }); }} /> )} ); }