Cделать страницу заказа такси с формой и картой.
Форма заказа: “Откуда” - вводится адрес подачи такси, обязательное поле. Формат ввода "Улица, номер дома". На карте должен отобразиться маркер в этом месте. Если адрес не найден, то поле считается не валидным. Также можно заполнить это поле, щелкнув на карте в нужном месте. Также при отправке формы передаются поля source_time (время подачи) и crew_id (ИД выбранного экипажа), смотрите описание запроса создания в конце задания. Валидация полей происходит после изменения значений полей. При щелчке по кнопке "Заказать" происходит полная валидация формы и кнопка становится недоступной пока все ошибки не исправлены. Например, если, заполняя поля сразу нажать кнопку "Заказать", то под полем "Откуда" появится подсказка, что это поле обязательное.
Карта: Предлагается использовать Яндекс-карты (можете взять более удобные вам карты). При щелчке на карте:
- ищется адрес выбранного места,
- заменяется текущее значение поля "Откуда",
- в месте щелчка появляется желтый маркер,
- на сервер отправляется запрос поиска подходящих экипажей,
- найденные экипажи отображаются на карте зелеными маркерами и выводятся в список экипажей отсортированными по возрастанию расстояния до точки подачи. Первый экипаж из этого списка считается "подходящим" и отображается под формой заказа. Если адрес не найден, то в месте щелчка появляется красный маркер с подписью "Адрес не найден".
Client: react, redux toolkit, react-yandex-maps, react-toastify, mui, dayjs, eslint, prettier