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)}*/}
{/* />*/}
{/*)}*/}
);
}