Project

General

Profile

Actions

Front-Feature #100

closed

Создание модального окна регистрации на мероприятие

Added by Екатерина Захарова 4 months ago. Updated 27 days ago.

Status:
Closed
Priority:
Normal
Start date:
11/15/2025
Due date:
% Done:

100%

Estimated time:
(Total: 12:00 h)
Spent time:
(Total: 15:00 h)

Description

Когда пользователь захотел посетить мероприятие, он нажимает на кнопку "Зарегистрироваться", открывается модальное окно с формой регистрации на мероприятие, которое нужно создать.

  1. Использовать компонент MUI https://mui.com/material-ui/react-dialog/
  2. Компонент реализовать как дочерний от src/components/Dialog/Dialog.tsx в папке src/components/Dialog
  3. Название компоненту присвоить RegisterActionDialog.tsx
  4. Поля, которые должны быть в окне:
  • заголовок (отдельно верстать не надо, есть в компоненте пропсом 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)
  1. Реализовать валидацию полей с помощью Formik.
  2. Реализовать получение всех введенных данных пользователем по нажатию на кнопку "Зарегистрироваться" с отправкой запроса на сервер.

${BASE_URL}/ticket/createTicket

actionId: string
wayPay: WayPay
countTickets: number
name: string
surname: string
email: string
phone?: string

  1. Обработка ответа сервера, если успешно, то текст "Успешно", если нет, то красная "Произошла ошибка, попробуйте позже". Использовать для этого компонент src/components/BasicSnackbar/BasicSnackbar.js

Пример смотри вот тут: src/components/RegistrationForm/RegistrationForm.js. Тут есть валидация, и пример работы верстки


Subtasks 4 (0 open4 closed)

Front-Feature #102: Создать компонент модального окнаClosedСветлана Сапунова11/15/2025

Actions
Front-Feature #103: Реализовать поля в модальном окне регистрации на мероприятиеClosedСветлана Сапунова11/15/2025

Actions
Front-Feature #104: Реализовать валидацию полей в модальном окне регистрации на мероприятиеClosedСветлана Сапунова11/15/2025

Actions
Front-Feature #105: Реализация функционала создания билетаClosedЕкатерина Захарова11/15/2025

Actions
Actions #1

Updated by Екатерина Захарова 4 months ago

  • Subtask #102 added
Actions #2

Updated by Екатерина Захарова 4 months ago

  • Subtask #103 added
Actions #3

Updated by Екатерина Захарова 4 months ago

  • Subtask #104 added
Actions #4

Updated by Екатерина Захарова 4 months ago

  • Subtask #105 added
Actions #5

Updated by Екатерина Захарова about 2 months ago

  • Status changed from New to In Progress
  • Assignee set to Екатерина Захарова
Actions #6

Updated by Екатерина Захарова 27 days ago

  • Status changed from In Progress to Closed
Actions

Also available in: Atom PDF