BUGFIX-028-01: Страница карточки прейскуранта с редактированием цен

Что сделать

Создать страницу /catalog/price-lists/:id — карточка прейскуранта с таблицей товаров/модификаторов и inline-редактированием цен.

Конкретно

Новый файл: web/src/pages/catalog/PriceListDetailPage.tsx

Загрузка данных:

  • getPriceListById(id) — данные прейскуранта (name, is_default, status)
  • getPriceListItems(id) — загрузить цены товаров и модификаторов

Отображение:

  • Header: название прейскуранта, бейдж “По умолчанию” если is_default, бейдж статуса
  • Таблица товаров: Название товара | Цена (input number, min=0, step=0.01)
  • Collapsible секция “Опции модификаторов” под таблицей: Группа | Опция | Цена (input)
  • Кнопка “Сохранить цены”
  • Поиск по названию товара / опции

Сохранение:

  • updatePriceItems(priceListId, items) — цены товаров
  • updatePriceModifierItems(priceListId, items) — цены опций
  • Toast “Цены сохранены” / ошибка

Мгновенное применение

Нет draft-версий. Цены всегда редактируемые (для Franchise) и применяются сразу.

Обновить web/src/App.tsx

  • Import PriceListDetailPage
  • Добавить роут: <Route path="catalog/price-lists/:id" element={<PriceListDetailPage />} />

Файлы

  • web/src/pages/catalog/PriceListDetailPage.tsx — новый (~250 строк)
  • web/src/App.tsx — добавить роут