feat: TKB shift scheduler — personnel shift planning web app

Full rewrite of METRO HMG for TKB tunnel department:
- People-based grid (18 TKB + 5 IT), year-long calendar
- Color-coded shift values (4/6/8/12/A/B/D/N/U/O)
- Drag-and-drop cells, multi-cell selection (click/ctrl/shift/drag)
- Right-click context menu with color palette
- Tunnel closure + Metro + D8 info rows (toggleable)
- Czech holidays highlighted with names
- PDF export (2-page A4 landscape, DejaVu font for Czech chars)
- Improvement proposals system
- Sticky headers (vertical + horizontal scroll)
- Cell value filter toggles in legend

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Docker Config Backup
2026-04-02 09:48:38 +02:00
commit b4158d687f
47 changed files with 14185 additions and 0 deletions

26
web/watch-deploy.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Watch for changes in src/ and auto-deploy to copelk
# Run: ./watch-deploy.sh
# Stop: Ctrl+C
WATCH_DIR="/home/klas/Prace/METRO/web/src"
DEPLOY_SCRIPT="/home/klas/Prace/METRO/web/deploy.sh"
COOLDOWN=10
echo "Watching $WATCH_DIR for changes..."
echo "Auto-deploying to copelk on save"
echo "Press Ctrl+C to stop"
inotifywait -m -r -e modify,create,delete "$WATCH_DIR" |
while read -r dir event file; do
echo ""
echo "[$(date +%H:%M:%S)] Change detected: $file ($event)"
echo "Deploying in ${COOLDOWN}s (waiting for more changes)..."
sleep $COOLDOWN
# Drain any queued events
while read -t 0.1 -r _; do :; done
echo "Deploying..."
bash "$DEPLOY_SCRIPT"
echo ""
echo "Watching for next change..."
done