# 🏐 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
