- Реструктуризация: src/ разбит на middleware/, utils/, repositories/ (удалены), routes/ (удалены) - Добавлен src/original-html.ts — полный HTML с reportModal - Добавлен src/index.tsx.backup — React-компонент с reportModal - Миграции переименованы (0001_initial_schema.sql) - Добавлена миграция 0018 (удалена позже) - Docker: multi-stage build, wrangler.toml - Frontend: public/static/app.js + style.css - seed.sql добавлен - Документация: CHANGELOG, CHANGES_v4.1.0-4.1.9, PROJECT_STRUCTURE
150 lines
4.8 KiB
Markdown
150 lines
4.8 KiB
Markdown
# 🟡 CHANGES v4.1.6 - Märkused Visual Indicators
|
||
|
||
**Дата**: 2025-11-28
|
||
**Версия**: v4.1.6
|
||
**Тип**: Visual Improvement
|
||
|
||
---
|
||
|
||
## 📝 Что изменено
|
||
|
||
### Поле "Märkused" (Notes/Заметки) - визуальная индикация
|
||
|
||
**Добавлено**:
|
||
- **Желтый фон** с белым текстом
|
||
- **Иконка "i"** (`fa-info-circle`)
|
||
- **Tooltip** при наведении курсора с полным текстом заметки
|
||
|
||
---
|
||
|
||
## 🎨 Визуальные состояния
|
||
|
||
### Состояние 1: Есть текст заметки
|
||
```
|
||
┌─────────────┐
|
||
│ 🟡 ℹ️ │ ← Желтый фон с иконкой "i"
|
||
└─────────────┘
|
||
↑ Наведение показывает полный текст заметки
|
||
```
|
||
|
||
### Состояние 2: Нет заметки
|
||
```
|
||
┌─────────────┐
|
||
│ - │ ← Серый фон с прочерком
|
||
└─────────────┘
|
||
↑ Клик для добавления заметки
|
||
```
|
||
|
||
---
|
||
|
||
## 🔍 Логика отображения
|
||
|
||
```javascript
|
||
// Если есть текст заметки → ЖЕЛТЫЙ с ℹ️
|
||
if (notes && notes.trim()) {
|
||
return YELLOW + info-circle icon + tooltip
|
||
}
|
||
|
||
// Иначе → пустой (серый с прочерком)
|
||
return LIGHT_GRAY + "-"
|
||
```
|
||
|
||
---
|
||
|
||
## 📦 Изменённые файлы
|
||
|
||
### 1. public/static/app.js
|
||
- Функция `renderNotesCell()` обновлена
|
||
- Добавлен желтый фон: `bg-yellow-400`
|
||
- Изменена иконка: `fa-exclamation` → `fa-info-circle`
|
||
- Добавлен tooltip с полным текстом заметки
|
||
- Удалена зависимость от `notesDate` (показывает желтый только если есть текст)
|
||
|
||
### 2. public/original.html
|
||
- Обновлена версия: `app.js?v=4.1.5` → `app.js?v=4.1.6`
|
||
|
||
### 3. src/original-html.ts, dist/_worker.js
|
||
- Регенерированы и пересобраны
|
||
|
||
---
|
||
|
||
## ✅ Тестирование
|
||
|
||
### Сценарий 1: Запись с заметкой
|
||
**Запись ID 2** (notes="Срочный заказ до 20.01"):
|
||
- ✅ Показывает ЖЕЛТЫЙ фон
|
||
- ✅ Показывает иконку ℹ️
|
||
- ✅ При наведении показывает "Срочный заказ до 20.01"
|
||
- ✅ Клик открывает модальное окно с текстом
|
||
|
||
### Сценарий 2: Запись без заметки
|
||
**Записи ID 1, 3, 5**:
|
||
- ✅ Показывает серый фон с прочерком `-`
|
||
- ✅ Клик открывает модальное окно для добавления
|
||
|
||
---
|
||
|
||
## 🚀 Deployment
|
||
|
||
```bash
|
||
# Быстрый вариант
|
||
scp dist/_worker.js user@server:/path/to/webapp/dist/
|
||
docker-compose restart
|
||
|
||
# Полный вариант
|
||
scp public/static/app.js user@server:/path/to/webapp/public/static/
|
||
scp public/original.html user@server:/path/to/webapp/public/
|
||
scp src/original-html.ts user@server:/path/to/webapp/src/
|
||
# На сервере: npm run build && docker-compose restart
|
||
```
|
||
|
||
### Проверка
|
||
```bash
|
||
curl -I http://localhost:8180
|
||
# Браузер: Ctrl+Shift+R
|
||
# Проверить поле Märkused:
|
||
# - Запись ID 2 → желтый фон с ℹ️
|
||
# - Навести курсор → показывает tooltip с текстом
|
||
```
|
||
|
||
---
|
||
|
||
## 🔗 URLs
|
||
|
||
- **Production**: https://3000-iabcqs9fpouqnd3allaai-82b888ba.sandbox.novita.ai
|
||
- **Git Commit**: dbc5c25
|
||
|
||
---
|
||
|
||
## 📊 Статус
|
||
|
||
**Версия**: v4.1.6
|
||
**Статус**: ✅ Production Ready
|
||
**HTTP Status**: 200 OK
|
||
**JavaScript Errors**: 0
|
||
**Database**: Не изменена
|
||
|
||
---
|
||
|
||
## 🎨 Сравнение с Probleemid
|
||
|
||
| Поле | Цвет | Иконка | Условие |
|
||
|------|------|--------|---------|
|
||
| **Probleemid** | 🔴 Красный | ⚠️ exclamation-triangle | Есть галочки ошибок |
|
||
| **Probleemid** | ⚪ Серый | ℹ️ info-circle | Только текст, без галочек |
|
||
| **Märkused** | 🟡 Желтый | ℹ️ info-circle | Есть текст заметки |
|
||
| **Пустое** | ⚪ Серый | - | Нет данных |
|
||
|
||
---
|
||
|
||
## 💡 Ключевые моменты
|
||
|
||
1. **Желтый = заметка** - Визуальное отличие от красных проблем
|
||
2. **Иконка "i"** - Информационный характер заметок
|
||
3. **Tooltip** - Полный текст при наведении курсора
|
||
4. **Без даты** - Показывает желтый только если есть текст
|
||
|
||
---
|
||
|
||
**🎯 Готово!** Поле Märkused теперь с желтым фоном, иконкой ℹ️ и tooltip при наведении!
|