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
This commit is contained in:
84
VERSION_SUMMARY.md
Normal file
84
VERSION_SUMMARY.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# AKNAPROFF Tootmine - Краткая сводка версий
|
||||
|
||||
**Проект:** AKNAPROFF Tootmine
|
||||
**Дата:** 28.11.2025
|
||||
**Версии:** v4.0.4 → v4.0.13
|
||||
|
||||
---
|
||||
|
||||
## 📊 Быстрая справка
|
||||
|
||||
| Версия | Проблема | Решение | Статус |
|
||||
|--------|----------|---------|--------|
|
||||
| v4.0.5 | Пустая таблица, клики не работали | Исправлен default month filter (January) | ✅ РАБОТАЕТ |
|
||||
| v4.0.6 | HTTP 401 Unauthorized | optionalAuthMiddleware для 13 endpoints | ✅ РАБОТАЕТ |
|
||||
| v4.0.7 | Браузер кеширует старый код | Cache busting (app.js?v=4.0.7) | ✅ РАБОТАЕТ |
|
||||
| v4.0.8 | Frontend блокирует Public User | Удалены role checks и CSS hiding | ✅ РАБОТАЕТ |
|
||||
| v4.0.9 | MAT-1/MAT-2 checkbox не toggle | Добавлено логирование, возврат newValue | ✅ РАБОТАЕТ |
|
||||
| v4.0.10 | Date picker не открывается | Попытка через .click() | ❌ НЕ СРАБОТАЛО |
|
||||
| v4.0.11 | События не происходят | Попытка через <label for> | ❌ НЕ СРАБОТАЛО |
|
||||
| v4.0.12 | Calendar нигде не открывается | Убран pointer-events:none | ⚠️ ЧАСТИЧНО |
|
||||
| v4.0.13 | Public User не видит calendar | Убран isAdmin check | ✅ РАБОТАЕТ |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Финальное решение (v4.0.13)
|
||||
|
||||
### Проблема
|
||||
```javascript
|
||||
// Public User видел read-only вместо calendar picker
|
||||
const isAdmin = currentUser?.role === 'admin';
|
||||
${isAdmin ? renderCalendarCell(...) : renderReadOnlyCell(...)}
|
||||
```
|
||||
|
||||
### Решение
|
||||
```javascript
|
||||
// Все пользователи видят calendar picker
|
||||
${renderCalendarCell(...)}
|
||||
```
|
||||
|
||||
### Результат
|
||||
✅ **MAT-1, MAT-2, PAKETT**: Calendar picker для всех
|
||||
✅ **LÕIKUS, KLAAS, VALMIS, VÄLJAS**: 3-step toggle (пусто → дата → ошибка)
|
||||
|
||||
---
|
||||
|
||||
## 🔗 URLs
|
||||
|
||||
- **Sandbox**: https://3000-iabcqs9fpouqnd3allaai-82b888ba.sandbox.novita.ai
|
||||
- **Git**: /home/user/webapp
|
||||
- **Подробная история**: FULL_DEVELOPMENT_HISTORY.md (25KB)
|
||||
|
||||
---
|
||||
|
||||
## 📝 Ключевые изменения
|
||||
|
||||
### Backend (src/index.tsx)
|
||||
- ✅ 13 endpoints с optionalAuthMiddleware
|
||||
- ✅ userId || null в audit logs
|
||||
- ✅ Toggle endpoints для MAT-1/MAT-2
|
||||
|
||||
### Frontend (public/static/app.js)
|
||||
- ✅ Убраны role checks (openModal, editRecord, toggleDeleteButtons)
|
||||
- ✅ Убран isAdmin check для renderCalendarCell
|
||||
- ✅ <label for> без pointer-events:none
|
||||
- ✅ Cache busting (app.js?v=4.0.13)
|
||||
|
||||
### HTML (public/original.html)
|
||||
- ✅ Убран admin-only-block CSS
|
||||
- ✅ Кнопка "Lisa uus rida" видна всем
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Тестирование
|
||||
|
||||
**ВАЖНО: Очистите кеш (Ctrl+Shift+R) или используйте Incognito!**
|
||||
|
||||
1. **MAT-1/MAT-2**: Клик → Календарь открывается
|
||||
2. **LÕIKUS/KLAAS**: Клик → Toggle (белый → зелёный → белый)
|
||||
3. **Checkbox MAT-1/MAT-2**: Клик → Toggle (серый ↔ зелёный)
|
||||
4. **CRUD**: "Lisa uus rida" → Модальное окно
|
||||
|
||||
---
|
||||
|
||||
**Полная документация:** См. FULL_DEVELOPMENT_HISTORY.md
|
||||
Reference in New Issue
Block a user