Files
Aknaproff/CHANGES_v4.1.5.md
Deploy Bot 64403d6fd6 v4.1.21: Реструктуризация проекта для Synology ARM
- Реструктуризация: 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
2026-01-14 18:37:00 +02:00

7.4 KiB
Raw Blame History

🔴 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.4app.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


📊 Статус

Версия: v4.1.5
Статус: Production Ready
HTTP Status: 200 OK
JavaScript Errors: 0
Database: Не изменена


💡 Ключевые моменты

  1. Галочки = красный - Если хотя бы одна галочка установлена, поле красное с ⚠️
  2. Текст = информация - Если есть только текст, поле серое с
  3. Tooltip = подсказка - При наведении курсора показывается полный текст проблемы
  4. Font Awesome - Используются иконки:
    • fa-exclamation-triangle для ошибок
    • fa-info-circle для информации

📚 Связанные версии

Эта функциональность связана с изменениями в v4.1.0:

  • Галочки проблем блокируют поля VALMIS/VÄLJAS
  • Текст проблемы - только комментарий, не блокирует

🎯 Готово! Поле Probleemid теперь правильно показывает красный фон с ⚠️ и tooltip с текстом проблемы!