Actions
Front-Feature #100
closedСоздание модального окна регистрации на мероприятие
Start date:
11/15/2025
Due date:
% Done:
100%
Estimated time:
(Total: 12:00 h)
Spent time:
(Total: 15:00 h)
Description
Когда пользователь захотел посетить мероприятие, он нажимает на кнопку "Зарегистрироваться", открывается модальное окно с формой регистрации на мероприятие, которое нужно создать.
- Использовать компонент MUI https://mui.com/material-ui/react-dialog/
- Компонент реализовать как дочерний от src/components/Dialog/Dialog.tsx в папке src/components/Dialog
- Название компоненту присвоить RegisterActionDialog.tsx
- Поля, которые должны быть в окне:
- заголовок (отдельно верстать не надо, есть в компоненте пропсом UniversalDialog)
- способ оплаты ( MUI компонент https://mui.com/material-ui/react-radio-button/, предварительно необходимо создать enum в src/constant.ts с перечислением "Наличные", " По карте", "Комбинированный") Обязательное поле
- выбор количества билетов (MUI компонент https://mui.com/material-ui/react-number-field/, по умолчанию - 1)
- имя ( MUI компонент https://mui.com/material-ui/react-text-field/, нужна валидация) Обязательное поле
- фамилия ( MUI компонент https://mui.com/material-ui/react-text-field/, нужна валидация) Обязательное поле
- почта ( MUI компонент https://mui.com/material-ui/react-text-field/, нужна валидация) Обязательное поле
- номер телефона ( MUI компонент https://mui.com/material-ui/react-text-field/, нужна валидация)
- кнопка "Зарегистрироваться" (отдельно верстать не надо, есть в компоненте пропсом UniversalDialog) Задизейблена, если не заполненно, хотябы одно поле обязательное
- кнопка "Отмена" (отдельно верстать не надо, есть в компоненте пропсом UniversalDialog)
- Реализовать валидацию полей с помощью Formik.
- Реализовать получение всех введенных данных пользователем по нажатию на кнопку "Зарегистрироваться" с отправкой запроса на сервер.
${BASE_URL}/ticket/createTicket
actionId: string
wayPay: WayPay
countTickets: number
name: string
surname: string
email: string
phone?: string
- Обработка ответа сервера, если успешно, то текст "Успешно", если нет, то красная "Произошла ошибка, попробуйте позже". Использовать для этого компонент src/components/BasicSnackbar/BasicSnackbar.js
Пример смотри вот тут: src/components/RegistrationForm/RegistrationForm.js. Тут есть валидация, и пример работы верстки
Updated by Екатерина Захарова about 2 months ago
- Status changed from New to In Progress
- Assignee set to Екатерина Захарова
Updated by Екатерина Захарова 27 days ago
- Status changed from In Progress to Closed
Actions