This commit is contained in:
Mikhail Chusavitin
2026-02-02 19:44:45 +03:00
parent 0bde12a39d
commit f25477a25e

View File

@@ -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)