feat: Ergebnis-Banner, Dev-Simulations-Panel & Spiele-Reset

- MatchCard: farbiger Ergebnis-Banner (Exakt/Tendenz/Falsch) ersetzt
  tipRow, passender Card-Glow je Ergebnis; Lucide-Icons (lucide-react)
- MatchCard: Ändern-Button links, vertikal mittig zur Tipp-Box ausgerichtet
- DevPanel: Simulationsmodus mit User-Switcher, Zeit- & Status-Presets
- DevPanel: Reset-Section mit "Spiel zurücksetzen", "Alle Spiele" und
  "Tipps löschen" (3 Buttons, farblich differenziert)
- Backend: dev.ts mit set-time, set-status, reset-tips, reset-match
- reset-match stellt Original-Datum wieder her (original_utc_date Spalte)
- set-time sichert Original-Datum per COALESCE beim ersten Aufruf
- Supabase Migration: original_utc_date TIMESTAMPTZ zu matches hinzugefügt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ronny
2026-04-04 01:10:55 +02:00
parent e27a62a37b
commit 3d3ff097cf
13 changed files with 1023 additions and 72 deletions
+40
View File
@@ -52,6 +52,34 @@
color: var(--primary);
}
/* Gruppen-Filter (zweite Ebene) */
.groupFilters {
display: flex;
flex-wrap: wrap;
gap: 6px;
padding: 4px 0;
border-top: 1px solid rgba(255,255,255,0.05);
margin-top: -8px;
}
.groupFilter, .groupFilterActive {
padding: 5px 13px;
border-radius: 16px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
border: 1px solid rgba(255,255,255,0.08);
background: transparent;
color: var(--text-muted);
transition: all 0.15s;
}
.groupFilter:hover { border-color: rgba(75,183,248,0.3); color: var(--text-secondary); }
.groupFilterActive {
background: rgba(75,183,248,0.12);
border-color: rgba(75,183,248,0.25);
color: var(--primary);
}
.dayGroup { display: flex; flex-direction: column; gap: 12px; }
.dayHeader {
@@ -62,6 +90,18 @@
text-transform: uppercase;
letter-spacing: 0.08em;
padding: 0 4px;
display: flex;
align-items: center;
gap: 8px;
}
.todayDot {
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--primary);
box-shadow: 0 0 6px rgba(75,183,248,0.6);
flex-shrink: 0;
}
.matchList { display: flex; flex-direction: column; gap: 10px; }