# 🏐 TG Volleyball Frontend – ToDo Liste ## 🧩 Medien & Nextcloud (Zukunft 💡) - [ ] Nextcloud-Medienintegration vorbereiten - [ ] Streaming/Browsing über öffentlichen Link oder WebDAV - [ ] Media-Browser-Komponente - [ ] Galerie über Datenbank abbilden ## 📬 Kommunikation & Tools - [ ] Newsletter-Anbindung - [ ] Mailfunktion an Trainer bei Team-Anmeldung - [ ] SMS/Weiterleitung an Handynummer - [ ] Integration Spond je Team (API) ## 📦 Teams & Spieler - [x] Admin kann Teams bearbeiten - [x] Spieler mit Bild anlegen (DB) - [ ] Live-Ticker-Anbindung an NVV Sams (API Keys notwendig) ## ⚙️ UX & Styling - [x] Buttons & Forms mit shadcn-ui stylen - [x] Frog-Farben & Branding integriert 🐸 - [ ] Dark Mode optional? - [ ] Animierte Ladezustände (Spinner) - [ ] Navbar Dropdowns funktionieren nicht korrekt (Bug) - [ ] Navbar-Menüpunkte umbrechen bei wenig Platz → Schrift kleiner machen ## 📱 Mobile & Responsive - [ ] Mobile Ansicht planen & umsetzen (Zukunft) ## 🧪 Testing & Dev Stuff - [ ] API-Mock-Option für Offline-Entwicklung - [ ] Unit Tests mit `vitest` (optional) - [ ] Komponentenstruktur refactoren (wenn groß) - [ ] `useApi()`-Hook für zentrale API-Calls ## 🧱 Grundstruktur & Technik - [x] Projekt mit Vite + React + TypeScript + Tailwind erstellt - [x] shadcn-ui integriert - [x] Routing mit React Router v7 eingerichtet - [x] `.env`-System für API-URL ## 🎨 Landing Page - [x] Teambereich mit Bildern & Beschreibung - [x] News-Bereich mit Vorschau aktueller News - [x] Events/Trainingszeiten-Bereich - [x] Login-Link zum internen Bereich - [x] Footer mit Impressum / Datenschutz / Kontakt - [x] Komponenten mit DB verknüpfen für dynamische Anzeige ## 📢 NewsManager (Admin) - [x] News anzeigen (Grid) - [x] News erstellen - [x] News bearbeiten - [x] News löschen - [x] Modal zur Löschbestätigung - [x] Form mit Bild, Titel, Beschreibung, Team - [x] Toast für Erfolg & Fehler - [x] Ladeindikator beim Speichern - [x] Bildvorschau für `image_url` - [x] Bildspeicherung im Backend db? ## 👤 Userverwaltung (Admin) - [x] User anlegen mit Rolle und Email - [x] Userliste anzeigen - [x] User bearbeiten - [x] User löschen - [x] Zugriffsbeschränkung: Nur Admins - [ ] Passwort zurücksetzen per UI - [ ] Toasts für alle Aktionen ## 🔐 Authentifizierung - [x] Login mit Username & Passwort - [x] AuthContext mit Token-Handling - [ ] Automatischer Logout nach Token-Ablauf - [x] Persistenter Login (LocalStorage) - [x] Fehlerbehandlung beim Login (Toast) - [x] Bugfix: Login funktioniert erst nach `/admin`-Redirect