- Реструктуризация: 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
7.4 KiB
7.4 KiB
🔴 CHANGES v4.1.5 - Restore Probleemid Visual Indicators
Дата: 2025-11-28
Версия: v4.1.5
Тип: Bug Fix / Visual Restoration
📝 Что восстановлено
Поле "Probleemid" (Проблемы) - визуальная индикация
Проблема: Поле Probleemid не показывало визуальные индикаторы проблем.
Восстановлено:
1. Красный фон с восклицательным знаком ⚠️
Когда есть галочки ошибок (error flags):
- Цвет: Красный фон (
bg-red-500) - Иконка: Восклицательный треугольник
<i class="fas fa-exclamation-triangle"></i> - Tooltip: Текст проблемы при наведении курсора
- Условие: Хотя бы одна галочка проблемы установлена (worksheets_error, cutting_error, glazing_error, ready_error, issued_error)
2. Серый фон с информационной иконкой ℹ️
Когда есть только текст проблемы, но нет галочек:
- Цвет: Серый фон (
bg-gray-300) - Иконка: Информационный круг
<i class="fas fa-info-circle"></i> - Tooltip: Текст проблемы при наведении курсора
- Условие: Есть текст в поле problems, но нет галочек ошибок
3. Пустое поле (нет проблем)
Когда нет ни галочек, ни текста:
- Цвет: Светло-серый (
bg-gray-100) - Символ: Прочерк
- - Действие: Клик открывает модальное окно для добавления проблем
🎨 Визуальные состояния
Состояние 1: Есть галочки ошибок
┌─────────────┐
│ 🔴 ⚠️ │ ← Красный с восклицательным знаком
└─────────────┘
↑ Наведение показывает текст проблемы
Состояние 2: Только текст, нет галочек
┌─────────────┐
│ ⚪ ℹ️ │ ← Серый с информационной иконкой
└─────────────┘
↑ Наведение показывает текст проблемы
Состояние 3: Нет проблем
┌─────────────┐
│ - │ ← Светло-серый с прочерком
└─────────────┘
↑ Клик для добавления проблемы
🔍 Логика отображения
// Проверка галочек ошибок
const hasProblems = record.worksheets_error === 1 ||
record.cutting_error === 1 ||
record.glazing_error === 1 ||
record.ready_error === 1 ||
record.issued_error === 1;
// Если есть галочки → КРАСНЫЙ с ⚠️
if (hasProblems) {
return RED + exclamation-triangle icon + tooltip
}
// Если только текст → СЕРЫЙ с ℹ️
if (problems && problems.trim()) {
return GRAY + info-circle icon + tooltip
}
// Иначе → пустой
return LIGHT_GRAY + "-"
📦 Изменённые файлы
1. public/static/app.js
- Функция
renderProblemsCell()полностью переписана - Добавлена проверка
hasProblems(галочки ошибок) - Добавлены 3 состояния: красный/серый/пустой
- Добавлены иконки Font Awesome
- Добавлен tooltip с текстом проблемы
- Обновлена версия:
app.js?v=4.1.4→app.js?v=4.1.5
2. public/original.html
- Обновлена версия cache-busting
3. src/original-html.ts
- Регенерирован
4. dist/_worker.js
- Пересобран
✅ Тестирование
Сценарий 1: Запись с галочками проблем
Запись ID 2 (worksheets_error=1, glazing_error=1):
- ✅ Показывает КРАСНЫЙ фон
- ✅ Показывает иконку ⚠️
- ✅ При наведении показывает текст "qqqq"
- ✅ Клик открывает модальное окно с отмеченными галочками
Сценарий 2: Запись с текстом, но без галочек
Если добавить текст проблемы без галочек:
- ✅ Показывает СЕРЫЙ фон
- ✅ Показывает иконку ℹ️
- ✅ При наведении показывает текст
- ✅ Клик открывает модальное окно
Сценарий 3: Запись без проблем
Записи ID 1, 4, 5:
- ✅ Показывает светло-серый фон с прочерком
- - ✅ Клик открывает модальное окно для добавления
🚀 Deployment
# Быстрый вариант
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
Проверка
curl -I http://localhost:8180
# Браузер: Ctrl+Shift+R
# Проверить поле Probleemid:
# - Записи с галочками → красный фон с ⚠️
# - Записи с текстом → серый фон с ℹ️
# - Записи без проблем → серый с "-"
# - Наведение курсора → показывает tooltip
🔗 URLs
- Production: https://3000-iabcqs9fpouqnd3allaai-82b888ba.sandbox.novita.ai
- Git Commit: d79f236
📊 Статус
Версия: v4.1.5
Статус: ✅ Production Ready
HTTP Status: 200 OK
JavaScript Errors: 0
Database: Не изменена
💡 Ключевые моменты
- Галочки = красный - Если хотя бы одна галочка установлена, поле красное с ⚠️
- Текст = информация - Если есть только текст, поле серое с ℹ️
- Tooltip = подсказка - При наведении курсора показывается полный текст проблемы
- Font Awesome - Используются иконки:
fa-exclamation-triangleдля ошибокfa-info-circleдля информации
📚 Связанные версии
Эта функциональность связана с изменениями в v4.1.0:
- Галочки проблем блокируют поля VALMIS/VÄLJAS
- Текст проблемы - только комментарий, не блокирует
🎯 Готово! Поле Probleemid теперь правильно показывает красный фон с ⚠️ и tooltip с текстом проблемы!