BT-03: Таб “Техкарта” — закреплённые модификаторы
Что сделать
В верхней части таба “Техкарта” показать закреплённые модификаторы (binding_type = "structural") с управлением.
Смотри спеку
Секция “Таб Техкарта” → “Закреплённые модификаторы (BR 1.9.2)” в Каталог — Товары.
Конкретно
Список закреплённых модификаторов
- Фильтр:
modifiers.filter(m => m.binding_type === "structural") - Отображение: бейджи/строки с названием груп��ы, версией, override min/max
- Только Franchise может управлять
Кнопка “Привязать закреплённый модификатор”
- Модалка: выбор группы из справочника (
GET /api/v1/admin/catalog/modifier-groups), выбор версии, override min/max - API:
POST /api/v1/admin/catalog/products/{id}/versions/{v}/modifiersсbinding_type: "structural" - Валидация: override_min_amount >= 1 (или группа с min >= 1)
- Ошибка
STRUCTURAL_MODIFIER_MIN_REQUIRED→ toast “Закреплённый модификатор должен иметь min >= 1”
Кнопка “Убрать”
- API:
DELETE .../modifiers/{groupId} - Модалка подтверждения: “Убрать закреплённый модификатор [названи��]? Per-option техкарты будут потеряны.”
Per-option вкладки
- Если есть закреплённые моды → создать вкладки по опциям (25см / 30см / 35см)
- В каждой вкладке — техкарта для
modifier_option_idэ��ой опции - Если закреплённых нет → одна техкарта без вкладок (базовая,
modifier_option_id = null) - Это уже частично реализовано (per-size tabs) — адаптировать к binding_type
Файлы
web/src/pages/catalog/ProductViewPage.tsx— таб Техкарта
Зависит от
- BT-01 (shared типы)
- BT-02 (фильтрация free в другом табе)