CAT-07: Товары форма создание

Что сделать

Создать страницу создания товара с формой и валидацией.

Смотри спеку

Создание, Ошибки.

Конкретно

Страница /catalog/products/new. API: POST /api/v1/admin/products.

Поля формы:

ПолеТипОбязательноеВалидация
НазваниеText inputДаНе пустое
ОписаниеTextareaНет
ТипSelect: Блюдо / ПродуктДа
Базовая ценаNumber inputДа>= 0
Ед. изм.Select: шт / кг / г / л / мл / порцияДа
КатегорияTree Select (из GET /api/v1/admin/categories)Да

Кнопки: “Сохранить” / “Отмена” (возврат к /catalog/products).

После успешного создания: редирект на /catalog/products/:id, toast “Товар создан”.

Обработка ошибок:

  • NAME_DUPLICATE (409): inline под полем “Название” — “Товар с таким названием уже существует”
  • VALIDATION_ERROR (400): подсветка полей с ошибками + текст из details

Несохранённые изменения: при попытке покинуть — модалка “Есть несохранённые изменения. Покинуть страницу?” — “Остаться” / “Покинуть”.

Файлы

  • web/src/pages/catalog/ProductCreatePage.tsx — создать

Зависит от

  • CAT-01
  • CAT-02