diff --git a/CLAUDE.md b/CLAUDE.md index 1025114..9b9109e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -46,30 +46,31 @@ **TODO:** - ❌ Conflict resolution (Phase 4, last-write-wins default) -### UI Improvements 🔶 IN PROGRESS +### UI Improvements ✅ MOSTLY DONE -**1. Sync icon + pricelist badge в header (tasks 4+2):** -- ❌ `sync_status.html`: заменить текст Online/Offline на SVG иконку -- ❌ Кнопка sync → иконка (circular arrows) вместо текста -- ❌ Dropdown при клике: Push changes, Full sync, статус последней синхронизации -- ❌ `configs.html`: рядом с кнопкой "Создать" показать badge с версией активного прайслиста -- ❌ Загружать через `/api/pricelists/latest` при DOMContentLoaded +**1. Sync UI + pricelist badge: ✅ DONE** +- ✅ `sync_status.html`: SVG иконки Online/Offline (кликабельные → открывают модал) +- ✅ Кнопка sync → иконка circular arrows (только full sync) +- ✅ Модальное окно "Статус системы" в `base.html` (info о БД, ошибки синхронизации) +- ✅ `configs.html`: badge с версией активного прайслиста +- ✅ Загрузка через `/api/pricelists/latest` при DOMContentLoaded +- ✅ Удалён dropdown с Push changes (упрощение UI) -**2. Прайслисты → вкладка в "Администратор цен" (task 1):** -- ❌ `base.html`: убрать отдельную ссылку "Прайслисты" из навигации -- ❌ `admin_pricing.html`: добавить 4-ю вкладку "Прайслисты" -- ❌ Перенести логику из `pricelists.html` (table, create modal, CRUD) в эту вкладку -- ❌ Route `/pricelists` → редирект на `/admin/pricing?tab=pricelists` или удалить +**2. Прайслисты → вкладка в "Администратор цен": ✅ DONE** +- ✅ `base.html`: убрана ссылка "Прайслисты" из навигации +- ✅ `admin_pricing.html`: добавлена вкладка "Прайслисты" +- ✅ Логика перенесена из `pricelists.html` (table, create modal, CRUD) +- ✅ Route `/pricelists` → редирект на `/admin/pricing?tab=pricelists` +- ✅ Поддержка URL param `?tab=pricelists` -**3. Страница настроек: расширить + синхронизация (task 3):** -- ❌ `setup.html`: переделать на `{{template "base" .}}` структуру -- ❌ Увеличить до `max-w-4xl`, разделить на 2 секции -- ❌ Секция A: Подключение к БД (текущая форма) -- ❌ Секция B: Синхронизация данных: - - Статус Online/Offline - - Кнопки: "Синхронизировать всё", "Обновить компоненты", "Обновить прайслисты" - - Журнал синхронизации (последние N операций) -- ❌ Возможно: новый API endpoint для sync log +**3. Модал "Настройка цены" - кол-во котировок с учётом периода: ❌ TODO** +- Текущее: показывает только общее кол-во котировок +- Новое: показывать `N (всего: M)` где N - за выбранный период, M - всего +- ❌ `admin_pricing.html`: обновить `#modal-quote-count` +- ❌ `admin_pricing_handler.go`: в `/api/admin/pricing/preview` возвращать `quote_count_period` + `quote_count_total` + +**4. Страница настроек: ❌ ОТЛОЖЕНО** +- Перенесено в Phase 3 (после основных UI улучшений) ### Phase 3: Projects and Specifications - qt_projects, qt_specifications tables (MariaDB)