import { Box, FormControl, FormLabel, RadioGroup, FormControlLabel, Radio, Select, MenuItem, useTheme, Button, useMediaQuery } from "@mui/material"; import { InfoPopover } from '@ui_kit/InfoPopover'; import CheckboxIcon from "@icons/Checkbox"; import { useState } from "react"; import { useCurrentQuiz } from "@/stores/quizes/hooks"; import { auditoryAdd } from "@/api/auditory"; import { useSnackbar } from "notistack"; interface GenderAndAgeSelectorProps { handleAdd: (item: any) => void; } export default function GenderAndAgeSelector({ handleAdd }: GenderAndAgeSelectorProps) { const theme = useTheme(); const [age, setAge] = useState(''); const [gender, setGender] = useState(''); const quiz = useCurrentQuiz(); const { enqueueSnackbar } = useSnackbar(); const isMobile = useMediaQuery(theme.breakpoints.down(800)); const isFormValid = gender && age; const addItem = async () => { if (!quiz?.backendId) { enqueueSnackbar('Ошибка: не выбран квиз', { variant: 'error' }); return; } try { const [result, error] = await auditoryAdd({ quizId: quiz.backendId, body: { sex: gender === "male", age } }); if (error) { enqueueSnackbar('Не удалось добавить ссылку', { variant: 'error' }); return; } if (result) { handleAdd({ id: result.ID, quiz_id: quiz.backendId, sex: gender === "male", age, deleted: false, }); enqueueSnackbar('Ссылка успешно добавлена', { variant: 'success' }); // Очищаем форму setGender(''); setAge(''); } } catch (error) { enqueueSnackbar('Произошла ошибка при добавлении', { variant: 'error' }); } }; return ( Пол setGender(e.target.value)} > } checkedIcon={} />} label="М" /> } checkedIcon={} />} label="Ж" /> Возраст ); }