master
Заголовок: Реализация функционала создания новой записи (Create Appointment) Описание изменений: • Бизнес-логика (Store): ◦ Реализован CreateAppointmentStore для управления состоянием экрана создания записи. ◦ Добавлена динамическая загрузка необходимых данных: список клиентов, доступные услуги, рабочие часы мастера и существующие записи на выбранную дату. ◦ Реализован расчет доступных временных слотов (recalculateSlots) с учетом длительности выбранных услуг и текущей занятости дня. ◦ Добавлен контроль "сверхурочного" времени (isOvertime): система предупреждает, если выбранные услуги выходят за рамки рабочего времени мастера. ◦ Реализована валидация формы создания записи (проверка выбора клиента, услуг и корректности временного слота). • Модели и данные: ◦ Интегрированы UseCase для работы с расписанием: GetAvailableTimeSlotsUseCase, GetWorkingDayByDateUseCase, SaveAppointmentUseCase и др. ◦ Обновлена логика работы с сущностями Appointment и ServiceShortInfo. ◦ Используется kotlin.uuid.Uuid для генерации идентификаторов новых записей. • UI и UX: ◦ Добавлена обработка событий выбора даты, времени, клиента и переключения услуг. ◦ Реализовано автоматическое суммирование стоимости и длительности выбранных услуг. ◦ Настроена навигация и уведомления пользователя (закрытие экрана после сохранения, показ ошибок). • Инфраструктура: ◦ Обновлены DI-модули (AppointmentDetailModule) для поддержки новых UseCase. ◦ Внесены правки в базовые компоненты UI (PeriodPickerBottomSheet, VerticalList) для поддержки процесса выбора параметров записи.
Удален convection-plugin Реализован минимальный функционал