f622dc0619
⭐ Sterne-Bewertungs-System (1-5 pro Person, Till + Lea unabhängig) 🏆 Dynamische Ranking-Liste mit Top-3-Badges (Gold/Silber/Bronze) 💬 Kommentare unter jeder Karte (aufklappbar, eigene löschbar) 👤 User-Profil-Switch (Till ↔ Lea) – Header-Pill mit Modal 💜 Eigene Ideen sind jetzt vollwertige Karten (im Ideen-Tab gemischt) ✏️ Eigene Ideen bearbeitbar + löschbar (eigener Tab) 📊 Sortierung: Ranking / Status / Preis / Name / Eigene zuerst 📈 Live-Stats: Ideen, Bewertet, Kommentare, Tage bis Reise 🎨 Bottom-Navigation mit 5 Tabs + Badge für eigene Ideen 📋 JSON-Export aller Daten für Codex 🔧 Daten-driven: destinations.json + dynamisches Rendering 📱 Mobile-optimiert mit Safe-Area-Insets Datenstruktur: - localStorage.f24_ratings, f24_comments, f24_own, f24_user - 18 built-in Destinations aus data/destinations.json - Gleiche Render-Pipeline für built-in und own
105 lines
3.8 KiB
Markdown
105 lines
3.8 KiB
Markdown
# Fredi24 – Feature-Übersicht
|
||
|
||
**Live:** https://holiday.heidrich-digital.de · Passwort: `frediurlaub26`
|
||
|
||
## Kern-Features (v3.0)
|
||
|
||
### ⭐ Sterne-Bewertungs-System
|
||
- Jede Destination kann von Till + Lea unabhängig bewertet werden (1–5 Sterne)
|
||
- Klick auf Stern setzt/entfernt Bewertung
|
||
- Durchschnitt wird automatisch berechnet
|
||
- Persistent in localStorage (`f24_ratings`)
|
||
|
||
### 🏆 Dynamische Ranking-Liste
|
||
- Eigener Tab "Ranking" (Bottom-Nav)
|
||
- Sortiert automatisch nach Durchschnitt aller Sterne
|
||
- Top 3 bekommen Gold/Silber/Bronze Badge
|
||
- Klick auf Ranking-Eintrag → springt zur Detail-Karte
|
||
- Zeigt Till's und Lea's Bewertungen separat
|
||
|
||
### 💬 Kommentar-System
|
||
- Unter jeder Karte aufklappbar
|
||
- Aktiver User (Till oder Lea) postet als sich selbst
|
||
- Eigene Kommentare löschbar
|
||
- Timestamp ("gerade", "5 Min", "2 Std", Datum)
|
||
- Lea's Kommentare in coral, Till's in teal markiert
|
||
|
||
### 👤 Profil-Switch
|
||
- Top-rechts: User-Pill mit aktuellem Profil
|
||
- Klick → Modal: Till oder Lea auswählen
|
||
- Aktive Identität wird für Sterne + Kommentare verwendet
|
||
- Speichert in localStorage (`f24_user`)
|
||
|
||
### 💡 Eigene Ideen einreichen (gleichberechtigt!)
|
||
- FAB-Button rechts unten (✚)
|
||
- Modal mit allen Feldern (Emoji, Name, Land, Budget, Status, Begründung, Subtext, Flugzeit)
|
||
- **Eigene Ideen erscheinen im Ideen-Tab gleichberechtigt** (lila Border, "💜 Eigener Vorschlag"-Marker)
|
||
- Können bewertet & kommentiert werden wie alle anderen
|
||
- Eigener Tab "💜 Eigene" zeigt nur eigene Vorschläge
|
||
- Bearbeitbar + löschbar (nur eigene)
|
||
- Badge auf Nav-Item zeigt Anzahl
|
||
|
||
### 📊 Sortierung (im Ideen-Tab)
|
||
- Bewertung (höchste zuerst) – nutzt Sterne-Durchschnitt
|
||
- Status (TOP → SPÄTER)
|
||
- Preis aufsteigend / absteigend
|
||
- Name A-Z
|
||
- Eigene zuerst
|
||
|
||
### 📈 Live-Statistik-Dashboard
|
||
- 4 Kacheln oben im Ideen-Tab:
|
||
- Ideen gesamt (built-in + eigene)
|
||
- Bewertet (wie viele schon Sterne haben)
|
||
- Kommentare (Summe aller)
|
||
- Tage bis Reise (Countdown zum 13. Juli 2026)
|
||
|
||
### 🎨 Mobile-First UI
|
||
- Bottom-Navigation (5 Tabs: Ideen, Ranking, Eigene, Archiv, Info)
|
||
- Sticky Header mit User-Profil
|
||
- Safe-Area Padding für iOS Notch
|
||
- Optimiert für Touch (große Tap-Targets)
|
||
- 1-Spalten-Layout auf < 660px
|
||
|
||
### 🔓 Passwort-Schutz
|
||
- Client-side Gate (`frediurlaub26`)
|
||
- Session-basiert (`sessionStorage`)
|
||
- Schützt vor zufälligem Zugriff (kein hartes Security)
|
||
|
||
### 📋 Daten-Export
|
||
- JSON-Export aller Bewertungen + Kommentare + eigener Ideen
|
||
- Direkt in Zwischenablage → Codex kann auslesen
|
||
- Im Ranking-Tab über "📋 Export"-Button
|
||
|
||
## Datenstruktur
|
||
|
||
### LocalStorage Keys
|
||
- `f24_user` → aktiver User: "Till" | "Lea"
|
||
- `f24_ratings` → `{destId: {Till: 1-5, Lea: 1-5}}`
|
||
- `f24_comments` → `{destId: [{user, text, ts}]}`
|
||
- `f24_own` → Array eigener Destinationen
|
||
- `sessionStorage.f24` → "1" wenn eingeloggt
|
||
|
||
### Built-in Destinations (data/destinations.json)
|
||
18 vorgefertigte Destinationen mit allen Feldern:
|
||
- Sardinien, AIDA, Algarve, Glamping, Schweiz, Côte d'Azur
|
||
- Taurito, Fuerteventura, Menorca, Kapverden, Malta, Lanzarote, Costa del Sol
|
||
- MSC, Korsika, Madeira (später), Schweden (später), Bali (später)
|
||
|
||
## Codex-Integration
|
||
|
||
Codex kann über git.heidrich-digital.de/till/holiday-2026:
|
||
1. `data/destinations.json` erweitern → neue eingebaute Destinationen
|
||
2. Aus `export`-JSON die User-Daten auslesen → Ratings/Kommentare analysieren
|
||
3. HTML-Templates erweitern (siehe README.md für Card-Format)
|
||
4. Auto-Deploy via Coolify bei Push auf main
|
||
|
||
## Roadmap (Ideen für später)
|
||
|
||
- [ ] Bilder pro Destination (CDN/Unsplash)
|
||
- [ ] Wettervorhersage-Widget je Reisezeitraum
|
||
- [ ] Direkte Booking-Links (HRS, Booking.com)
|
||
- [ ] PDF-Export einer "Shortlist"
|
||
- [ ] Reise-Notizen pro Destination (Hotel-Links, Mietwagen-Codes)
|
||
- [ ] Felix-Geburtstag-Counter ("Felix ist X Jahre alt während Reise")
|
||
- [ ] Multi-Year-Planning (2026, 2027, 2028)
|