Changelog

Entwicklung von BG Bamberg Courtside · aktuell v1.0.55

Hier siehst du, welche wichtigen Funktionen und Verbesserungen in Courtside gelandet sind — gruppiert nach Version. Die Chronik folgt dem echten Production-Stand, keine erfundenen Releases.

v1.0.55

Eltern-API: Primärpfad `/v1/clubs/{clubId}/roster` mit `category: jugend`; Legacy `/api/eltern/*` bleibt.

Eltern · Public API v1

  • GET `/v1/clubs/{clubId}/roster` — Jugendteams (`category: jugend`) + Kinder
  • GET `/v1/clubs/{clubId}/teams`, `…/spiele`, `…/ergebnisse`, `…/tabelle`
  • Tabelle in Eltern-Form (`ligaName`, `entries[].teamName` / `points` / `diff`)
  • Auth unverändert: Bearer `ELTERN_API_TOKEN`; Club-ID im Pfad
  • Legacy `/api/eltern/*` bleibt kompatibel

v1.0.54

Eltern-App-API: geschützter Kader-/Spielplan-Export nur Jugend U8–U18 (Bearer-Token).

Eltern · Public API

  • GET `/api/eltern/roster` — Jugendteams + Kinder (Vor-/Nachname, Team-IDs)
  • GET `/api/eltern/teams`, `/spiele`, `/tabelle` — Spielplan, Ergebnisse, TeamSL-Tabelle
  • Auth: `Authorization: Bearer` + optional `clubId` (`bg-bamberg`); Env `ELTERN_API_TOKEN` / `COURTSIDE_CLUB_ID`
  • Kein Herren, keine Coach-Mails, keine Passmappe/TA/Jahrgang

v1.0.53

Web-Push-Benachrichtigungen mit individuellen Trainer-Einstellungen (Training, Spieltag, Postfach, Aufstellung).

Push · Benachrichtigungen

  • Konto-Menü → Benachrichtigungen: Hauptschalter + vier Typen pro Coach
  • Web Push (Service Worker + VAPID) für installierte PWA und unterstützte Browser
  • Erinnerungen: Training & Spieltag (~2 h vorher), fehlerhafte Aufstellung vor Anpfiff, neue Postfach-Mails (IMAP uidNext)
  • Täglicher Cron `/api/cron/push` um 06:00 UTC ≈ 08:00 Berlin (Sommer, Hobby); Pro: stündlich möglich; Test-Push aus den Einstellungen
  • SQL einmal: `supabase/migrations/20261022120000_push_notifications.sql` · Env: VAPID public/private

v1.0.52

Spielbericht erneut an den Spielleiter senden – klarer Dialog und Link im Filecenter.

Spieltag · Spielbericht

  • Nach erfolgreichem Versand: Button und Dialog „Erneut senden“ mit Hinweis auf letzte Sendung (Empfänger, Uhrzeit)
  • Gleicher Versandpfad wie Erstversand (storageKey → Storage → SMTP); Google Drive bleibt optional Soft-Skip
  • Dateien → Spielberichte: bei fertigen Heimspiel-PDFs Direktlink „Erneut senden“ / „An Spielleiter senden“ zum Spiel
  • Versand-Status robuster (auch wenn Zeitstempel als Zahl-String in jsonb liegt)
  • Kein neues SQL

v1.0.51

Postfach: Filecenter-Anhänge serverseitig (ohne 413) und Picker mit Suche/Kategorie.

Postfach · Anhänge

  • Schreiben / Antworten / Weiterleiten: „Aus Dateien“ hängt Filecenter-Dateien per ID an – der Server lädt aus dem Bucket club-files (kein Base64 im Request, kein HTTP 413 bei großen Dateien)
  • Picker: Suche und Filter Vorlagen / Dokumente / Team; Dateien über 12 MB als „zu groß für E-Mail“ markiert
  • Gilt auch für Entwürfe und geplanten Versand (clubFileId in attachments_json)
  • Kein neues SQL / Env – Filecenter-Migration club_files wie bisher

v1.0.50

Einsatzzeiten wieder als klassische Spieler×Achtel-Tabelle – mobil mit horizontalem Scroll.

Spieltag · Einsatzzeiten

  • Aufstellungsplan und Live-Einsatzübersicht: klassische Tabelle Spieler:in × A1…/V1… wieder auf dem Handy (keine Kacheln mehr)
  • Handy: horizontaler Touch-Scroll, feste Namensspalte links, Σ rechts, kompaktere Zellen
  • Desktop/Tablet unverändert als Tabelle; Live-Modus und Datenmodell unverändert
  • Kein neues SQL

v1.0.49

Taktikboard-Feinschliff und Einsatzübersicht mobil ohne Seitwärts-Scroll.

Taktik

  • Linienfarbe beim Zeichnen und für ausgewählte Linien: Angriff, Verteidigung, Blau/Rot/Gelb oder Standard
  • Abspielgeschwindigkeit ½× / 1× / 1½× / 2× (wirkt auf die bestehende Schrittdauer)
  • Playbook: Spielzug duplizieren (Kopie mit neuem Namen)
  • Vollbild-Modus fürs Board (Handy/Halle); Werkzeuge auf schmalen Screens icon-first
  • Klarerer Leerzustand im Playbook; Freihand und animierte Schritte unverändert
  • Kein neues SQL – Farbe liegt in plays.lines / frames[].lines (jsonb)

Spieltag · Einsatzzeiten

  • Aufstellungsplan und Live-Gesamtübersicht: auf dem Handy pro Spieler:in umbrechende Achtel-/Viertel-Tasten statt breiter Tabelle
  • Besetzungszähler (z. B. A1 5/5) bleiben oben sichtbar; Tippen wie bisher Feld ● / Bank
  • Ab Tablet/Desktop: Tabelle mit fester Namensspalte und horizontalem Scroll (Touch)
  • Kein neues SQL

v1.0.47

Taktikboard: Freihand-Zeichnen zusätzlich zu geraden Pfeilen.

Taktik

  • Werkzeug „Freihand“: Kurven und Skizzen mit Finger oder Maus auf dem Board
  • Freihand-Linien speichern mit Spielzug und Schritten; Rückgängig und alle Linien löschen wie bisher
  • Bestehende Laufweg-/Pass-/Dribbling-/Block-Pfeile unverändert; Abspielen wechselt Linien pro Schritt wie zuvor
  • Kein neues SQL – Speicherung in bestehendem plays.lines / frames[].lines (jsonb)

v1.0.46

Punkte-Statistik, zuverlässigere Live-Minuten und animierte Taktikboard-Playbooks.

Spieltag & Statistik

  • Spiel → „Punkte“: erzielte Punkte vom Papierbogen (oder Foto) pro Kader-Spieler:in eintragen und speichern
  • Nur bestehende Kader-IDs – keine neuen Namen aus OCR; optional Hinweis wenn ein Spielbericht gespeichert ist
  • Statistik → Tab „Punkte“: Saison-Summe und Anzahl Spiele mit erfassten Punkten (Team+Saison-Filter wie bisher)
  • Werte liegen in games.lineup.points (jsonb) – kein neues SQL nötig

Spieltag · Minuten / Einsätze

  • Live-Minuten: offene Spielzeit wird regelmäßig und beim Verlassen der Seite in Minuten übernommen (Sync/Statistik)
  • Stoppuhr nach höchstens 3 Stunden Wandzeit automatisch pausiert (vergessener Start)
  • Hinweis wenn die Uhr noch läuft und man einen anderen Tab öffnet; Bestätigung vor „Uhr neu“
  • Spieluhr und Start/Pause bleiben auf dem Handy oben sichtbar beim Scrollen der Kaderliste
  • Live-Erfassung (Achtel/Viertel): max. Spieler:innen auf dem Feld wie bei Minuten

Taktik

  • Ablauf aus mehreren Schritten (Keyframes): Marker und Pfeile pro Schritt, Hinweistext optional
  • Abspielen mit sanfter Bewegung zwischen den Schritten; Pause und Stopp
  • Playbook-Liste zeigt Schrittanzahl bei Animationen; bestehende statische Spielzüge unverändert
  • Supabase: Spalte plays.frames (einmal SQL) – Speichern wie bisher über Sync

v1.0.44

TeamSL-Tabelle: bei mehr als 12 Ligen klare Vorauswahl statt Fehler – aktive Mannschaft zuerst, Ligen wählbar.

Übersicht

  • Mehr als 12 verknüpfte Ligen: Vorauswahl (aktive Mannschaft und weitere Teams), kein harter Abbruch mehr
  • Dialog „Ligen wählen“: bis zu 12 Ligen laden; Hinweistext auf Deutsch wenn gekürzt
  • Admin und Multi-Team-Coaches: Ligen der eigenen / aktiven Teams stehen vorne

v1.0.43

Spielbericht an Spielleiter: Erfolgs-Hinweis in der UI und Google Drive optional; Passmappe: Sitzungs-Hinweis statt „nicht im Storage“ plus Legacy-Pfad-Fallback.

Spieltag

  • Nach erfolgreichem Spielleiter-Mail: Status „An Spielleiter gesendet“ mit Uhrzeit (und Empfänger) am Spiel
  • Button wechselt zu „Erneut senden“ mit Häkchen-Icon (Desktop und Mobile)
  • Google Drive bleibt optionales Backup: ohne Vercel-Env Soft-Skip, Mail gilt trotzdem als gesendet
  • Keine Admin-Setup-Meldung mehr als scheinbarer Versandfehler nach dem Senden
  • Passmappe/Kader: vor Signed-URL-Fetch Sitzung prüfen — abgelaufene Anmeldung meldet „Sitzung abgelaufen“, nicht fälschlich fehlende Datei
  • Zusätzlich Legacy-Pfad mit pass/-Präfix im Bucket versuchen (wie bei Spielberichten), Bucket bleibt privat

v1.0.42

Gespeicherte Spielberichte wieder korrekt ansehen; Fehlermeldungen für Spielberichte statt Spielerpass-SQL.

Spieltag

  • Spielbericht ansehen: Upload online direkt beim Speichern; Viewer löst denselben Storage-Pfad wie der Spielleiter-Versand
  • Fehlermeldungen für game-documents auf Deutsch und ohne Pass-/SQL-Hinweise (kein player_passes-Recovery-Text mehr)
  • Storage-Fehlertexte generell ohne SQL-Dateinamen in der UI

v1.0.41

Spielbericht an Spielleiter: Versand ohne Base64-Riesenpayload (kein HTTP 413 mehr bei typischen Fotos); PDFs stärker komprimiert.

Spieltag

  • An Spielleiter senden lädt PDFs serverseitig aus dem Storage (storageKey) statt Base64 im Request — umgeht das Vercel-~4,5-MB-Limit
  • Fotos werden beim PDF-Erzeugen immer verkleinert/re-encodiert (lesbare Scan-Qualität, deutlich kleinere Dateien)
  • Klare deutsche Meldung bei HTTP 413 / zu großem Request

v1.0.40

Admins können Profilfotos anderer Coaches hochladen, ersetzen oder entfernen.

Admin

  • Coach-Karte: Avatar antippen (Kamera-Badge) oder im Bearbeiten-Dialog → Profilfoto hochladen, ersetzen, entfernen oder Basketball-Avatar wählen
  • Gleiche Grenzen wie beim eigenen Foto (JPEG/PNG/WebP/GIF, max. 2 MB)

v1.0.39

Admin-Coach-Karten: Aktionsbuttons auf dem Handy in 2×2 statt überlappend in einer Zeile.

Admin

  • Coach-Karten: Bearbeiten, Passwort, Deaktivieren und Löschen als 2×2-Raster (kein Quetschen auf schmalen Displays)

v1.0.38

Coach-Startseite personalisierbar; TeamSL-Ligatabellen auf der Übersicht für die eigenen Mannschaften.

Übersicht

  • TeamSL-Tabelle je verknüpfter Liga (eigene Mannschaft hervorgehoben; Mehrfach-Teams per Umschalter)
  • Startseite anpassen: Reihenfolge und Sichtbarkeit der Bausteine (Training, Tabelle, Spiel, Block, Schnellzugriffe, Taktik)
  • Einstellungen pro Coach in Supabase (ohne SQL: lokal gemerkt)

v1.0.37

Postfach Wave 2: Signatur-Editor, Sterne, Konversationen, Vorlagen, Regeln und geplanter Versand.

Postfach

  • Signatur bearbeiten (eigener Text über dem Vereins-Footer)
  • Sterne / Flags (IMAP \Flagged), Filter „Nur Sterne“, Mehrfachauswahl
  • Konversationen: Listen-Gruppierung nach Betreff + Thread-Leiste in der Leseansicht
  • Vorlagen speichern und im Composer übernehmen
  • Regeln (Absender/Betreff/Empfänger → Stern, gelesen, Archiv, Spam) beim Aktualisieren
  • Geplanter Versand („Später“) — Cron einmal täglich (Hobby; Pro: alle 15 Min.)

v1.0.36

Postfach als Mail-Client: Antworten an alle, Weiterleiten, Entwürfe, Suche, Archiv und mehr Ordner.

Postfach

  • Antworten an alle und Weiterleiten aus der Leseansicht
  • Entwürfe speichern und aus dem Ordner Entwürfe weiterbearbeiten
  • Suche im aktuellen Ordner (Absender, Betreff, Text)
  • Mehrfachauswahl: gelesen/ungelesen und archivieren
  • Ordner-Leiste: Entwürfe, Archiv, Papierkorb und Spam, wenn der Mailserver sie anbietet

v1.0.35

Postfach: Admins können beim Schreiben alle Coaches per Blindkopie (BCC) übernehmen.

Postfach

  • Im Composer: Aktion „An alle Coaches“ (nur Admin)
  • Füllt Blindkopie (BCC) mit aktiven Coaches, die eine gültige E-Mail haben; Anzahl sichtbar
  • Leere Liste: klare deutsche Meldung – keine stillen Fehler

v1.0.34

Postfach-Leseansicht: Links in Mails anklickbar; lange Texte umbrechen oder horizontal scrollen.

Postfach

  • http(s)- und mailto-Links im Nachrichtentext sind tipp-/klickbar (neuer Tab, noopener)
  • HTML-Mails: sichere Links aus dem Original; javascript:-Links werden entfernt
  • Lange Texte und URLs umbrechen; sehr breite Zeilen scrollen nur im Lesebereich

v1.0.33

Postfach-Leseansicht: lange Texte und URLs umbrechen oder horizontal scrollen, ohne das Layout zu sprengen.

Postfach

  • Nachrichteninhalt bricht normale Texte und lange Links um
  • Sehr breite Zeilen scrollen horizontal nur im Lesebereich
  • Liste und Dialoge (Schreiben/Antworten) bleiben unverändert

v1.0.32

Changelog zeigt nur noch Produkt- und Nutzeränderungen – keine Migrationsdateien oder Ops-Schritte mehr in der App-Chronik.

Changelog

  • Historische Einträge ohne SQL-Pfade, Migrationsnamen und „einmal ausführen“-Hinweise
  • Technische Einrichtung bleibt in den Projekt-Docs, nicht unter /changelog

v1.0.31

Spielerpässe härter abgesichert: privater Speicher, kurzlebige Zugriffe, engere Rechte, Geräte-Cache mit Ablauf – Passmappe am Spieltag bleibt nutzbar.

Spielerpässe · Sicherheit

  • Spielerpass-Speicher bleibt privat; Downloads nur kurzzeitig freigegeben, Anzeige weiter lokal auf dem Gerät
  • Nur aktive Coaches mit Teamzugriff; erlaubte Formate JPEG, PNG, WebP, GIF und PDF
  • Geräte-Cache mit 12‑h-Frischheit online; offline/Spieltag weiter aus dem Cache; Löschung beim Abmelden
  • Keine Protokollierung von Pass-Pfaden oder temporären Download-Links

v1.0.30

Datenschutzerklärung für Courtside (/datenschutz) mit Footer-Link; interner Reparatur-Endpunkt entfernt.

Datenschutz

  • Route /datenschutz mit klarer deutscher Erklärung (Verantwortlicher wie Vereinswebsite)
  • Footer-Link „Datenschutz“ neben Changelog
  • Seite auch ohne Login lesbar

Sicherheit

  • Interner Admin-Reparatur-Endpunkt entfernt

v1.0.29

Handy: Dialoge für Mail schreiben, Datei-Upload und Spieltag scrollen korrekt; Aktionsbuttons bleiben unten fixiert (Safe Area).

Handy · Dialoge

  • Mail schreiben / Antworten: Inhalt scrollbar, Senden/Abbrechen unten fixiert
  • Dateien hochladen und aus Dateien anhängen: sticky Footer inkl. iPhone Safe Area
  • Spieltag: Spiel anlegen/bearbeiten und An Spielleiter senden mit gleichem Layout
  • Adressbuch-Auswahl und PDF-Vorschau: Scroll + feste Aktionen

v1.0.28

Postfach: beim Schreiben Anhänge vom Gerät oder aus dem Courtside-Filecenter mitsenden.

Postfach · Schreiben

  • Anhänge vom Gerät auswählen (bis 4 Dateien, je max. 12 MB)
  • Optional: Datei aus Dateien (Filecenter) anhängen
  • Klare deutsche Fehlermeldungen bei leeren/zu großen Dateien

v1.0.27

Admin-E-Mail ändern, Postfach-Anhänge/Dateien-Nav, Servereinstellungen zugeklappt; Spieltag füllt Ligakürzel und Team-/Gegner-Kürzel automatisch voraus.

Admin

  • Coach bearbeiten: Login-E-Mail ändern (Auth + Profil)
  • Klare Fehlermeldung, wenn die E-Mail schon vergeben ist

Postfach

  • Grundlegende Servereinstellungen (IMAP/SMTP) standardmäßig zugeklappt, wenn das Postfach schon verbunden ist
  • Anhänge herunterladen (PC/Handy) oder in Courtside unter Dateien → Team-Dateien speichern

Dateien

  • Navigation „Dateien“ wie Postfach: Desktop-Top-Nav, mobile untere Leiste, Konto-/Mehr-Menü
  • Übersicht: Karte „Filecenter“ neben Postfach
  • Route `/dateien` für Vorlagen, Dokumente, Team-Dateien und Spielberichte

Spieltag · Spiel bearbeiten

  • Ligakürzel leer → Team-Vorgabe (Admin PDF-Kürzel)
  • Eigenes Kürzel sichtbar (nur lesbar, aus Admin → Teams)
  • Gegner kurz leer → Treffer aus BBV-Oberfranken-Liste zum Gegnernamen; Autocomplete bleibt
  • Manuell geänderte Werte bleiben; Gegner-Änderung überschreibt nur ungeänderte Autofills

TeamSL

  • Beim Abgleich werden leere Ligakürzel / Gegner-kurz an neuen und geänderten Spielen nachgezogen

v1.0.26

Postfach: wenn das gespeicherte Mail-Passwort nicht mehr entschlüsselt werden kann (Schlüssel gewechselt), klare Meldung und Button zum Neu-Eingeben statt kryptischem Crypto-Fehler.

Postfach

  • AES-GCM-Fehler („Unsupported state or unable to authenticate data“) wird verständlich erklärt
  • Button „Mail-Passwort neu eingeben“ öffnet die Postfach-Einstellungen

v1.0.25

Admin: klarere Fehler bei fehlendem Profil; eigener Zugang lässt sich wiederherstellen, wenn er deaktiviert oder ohne Profil-Zeile ist.

Admin

  • Fehlendes Coach-Profil wird nicht mehr als „Zugang deaktiviert“ angezeigt
  • Button „Zugang wiederherstellen“ im Admin, wenn der eigene Zugang gesperrt oder ohne Profil ist

v1.0.24

Spieltag-Kaderauswahl auf dem Handy: Spielernamen und Trikotnummern wieder klar lesbar.

Spieltag

  • Kaderauswahl (Vorschlagsliste): auf schmalen Displays mehr Platz für Namen, Stats darunter statt in drei Spalten
  • Trikot-Chips immer in Teamfarbe mit kontrastreicher Nummer (auch Gelb/Gold/Weiß)
  • Nominierten-Kader und Einsatz-/Minuten-Kacheln: größere, fett gesetzte Namen

v1.0.23

Spieler:innen in zwei Mannschaften mit eigener Rückennummer pro Team; Warnung bei gleicher TA-Endung entfernt.

Kader

  • Rückennummer pro Mannschaft (nicht mehr eine globale Nummer)
  • Spieler bearbeiten: Teams wählen und je Team eine Nummer pflegen
  • Warnung „TA-Endung schon vergeben“ entfernt – Überlappungen sind erwartet und blockieren nicht

Spieltag

  • Kader, Passmappe, Kaderliste und Einsatzzeiten zeigen die Nummer der aktiven Mannschaft

v1.0.22

iPhone: Header unter Dynamic Island lesbar (Safe Area); Spielernamen in Spieltag/Kader mit klarem Kontrast.

Mobil / PWA

  • Safe-Area-Tokens (env/constant) für Notch und Dynamic Island; Header-Padding zuverlässiger
  • overflow-x-clip vom Shell-Wrapper entfernt (konnte auf iOS safe-area-inset auf 0 setzen)
  • viewport-fit=cover und black-translucent Statusleiste bleiben – Inhalt rückt unter die Insel

Spieltag / Kader

  • Spielernamen mit explizitem text-foreground / font-semibold (besserer Kontrast auf hellen Flächen)
  • Kader-Karten: Trikotnummer nutzt Kontrastfarbe zur Teamfarbe (Gelb/Gold/Weiß nicht mehr weiß auf hell)

v1.0.21

Mannschaftsauswahl: intermittierende Fehlschläge behoben (stale Prefs, Demo→Login, Multi-Team).

Team-Umschalter

  • Aktives Team pro Coach im localStorage (nicht mehr geräteweit gemischt mit Demo/anderen Accounts)
  • Ungültige Auswahl (archiviert, keine Mitgliedschaft, alte Demo-IDs) wird auf ein gültiges Team zurückgesetzt
  • Umschalter nutzt Radio-Items, damit die Auswahl zuverlässig greift

v1.0.19

Teams speichern: fehlende Drive-Ordner-Felder zeigen eine klare deutsche Meldung; Name und Kürzel lassen sich trotzdem speichern.

Teams

  • Verständlicher Hinweis statt roher Technikfehler, wenn Drive-Ordner noch nicht eingerichtet sind
  • Name, Kürzel und übrige Team-Felder bleiben speicherbar

v1.0.18

Spielbericht & Quittung: Ablage in Google Drive (Ordner pro Team); Auswärtsspiele „Nur speichern“ ohne Mail an den Spielleiter.

Google Drive

  • Nach erfolgreichem Spielleiter-Versand werden PDFs best-effort in Drive abgelegt (Fehler blockiert die Mail nicht)
  • Pro Team zwei Ordner: Spielberichtsbögen und Schiedsrichterquittungen (IDs in Admin → Teams; Button „Ordner anlegen“)
  • PDFs landen direkt im jeweiligen Team-Ordner (kein Unterordner pro Spiel); feste Dateinamen
  • Ohne Drive-Konfiguration klare deutsche Hinweis-Toasts

Auswärtsspiele

  • Button „Nur speichern“ statt Spielleiter-Mail (Heimverein versendet)
  • Fotos weiterhin als PDF im Storage; Drive-Upload wenn eingerichtet

v1.0.17

Admin: PDF-Kürzel (Team-Kurzname + Ligakürzel) in der Teams-Übersicht pflegen und per Excel/CSV aus Google Sheets importieren – gleiche Felder wie beim Spielbericht-Versand.

Admin · Teams

  • Abschnitt PDF-Kürzel: Kurzname und Ligakürzel je Team bearbeiten, mit Dateiname-Vorschau
  • Bulk-Import: Excel (.xlsx) oder CSV (Google Sheets → Herunterladen), Spaltenzuordnung + Vorschau vor dem Schreiben
  • Team-Karten zeigen gesetzte Kürzel; Team-Dialog unverändert mit denselben Feldern

Spielbericht / PDF

  • Versand nutzt weiter Kurzname und Ligakürzel am Team (bereits in v1.0.5+)
  • Gegner-Kürzel weiter am Spiel; Import betrifft Vereins-/Teamkürzel

v1.0.16

Passmappe: keine falsche Offline-Meldung mehr bei Speicher-/Zugriffsfehlern – klare deutsche Fehler zu Anmeldung, Datei und Rechten.

Digitale Passmappe

  • Bugfix: fehlgeschlagene Pass-Downloads wurden fälschlich als „ohne Internet“ erklärt, obwohl online
  • Fehler unterscheiden jetzt Offline, Anmeldung, fehlenden Speicher, Rechte und fehlende Datei
  • Beim Öffnen der Mappe werden ausstehende Pass-Uploads erneut hochgeladen

Spielerpass

  • Zuverlässigerer Zugriff auf Spielerpässe, auch wenn die Einrichtung früher unvollständig war

v1.0.15

Passmappe: hochgeladene Spielerpässe (Fotos) werden wieder angezeigt – kein leeres Bild mehr nach dem Blättern; HEIC-Hinweis.

Digitale Passmappe

  • Bugfix: widerrufene blob:-URLs wurden beim Zurückblättern wiederverwendet – Bilder wirkten hochgeladen, blieben aber leer
  • Foto-Anzeige füllt die Karte zuverlässig (wie PDF); kaputte/HEIC-Bilder mit klarer Fehlermeldung und Erneut laden
  • Einmal geladene Pässe bleiben beim Wischen sichtbar (Geräte-Cache)
  • „Kein Pass hinterlegt“ unverändert, wenn wirklich kein Pass im Kader liegt

Spielerpass

  • Upload lehnt HEIC/HEIF ab (Browser können das nicht anzeigen) – bitte JPEG, PNG oder PDF

v1.0.14

Adressbuch: fehlende Spielleiter-E-Mail am Team zeigt eine klare deutsche Anleitung statt [object Object].

Adressbuch

  • Speichern mit Spielleiter-Teams verknüpft die Spielleiter-E-Mail am Team
  • Fehlt die Einrichtung noch, erscheint ein verständlicher Hinweis statt [object Object]
  • Kontakt kann schon gespeichert sein; Team-Verknüpfung greift, sobald die Einrichtung vollständig ist

v1.0.13

Adressbuch: Speichern zeigt keinen falschen Toast „[object Object]“ mehr – Fehlertexte sind lesbar auf Deutsch; bei Erfolg schließt der Dialog und die Liste lädt neu.

Adressbuch

  • Technikfehler werden nicht mehr zu „[object Object]“
  • Toasts zeigen nur noch klare deutsche Meldungen
  • Erfolgreiches Speichern: Erfolgs-Toast, Dialog zu, Liste aktualisieren – kein Fehler-Toast
  • Doppelte E-Mail und ungültige Team-Verknüpfung mit kurzer deutscher Meldung

v1.0.12

Admin: Coaches endgültig löschen – mit doppelter Bestätigung (Dialog + Name/E-Mail tippen).

Admin

  • Button „Löschen“ auf Coach-Karten (nicht für dich selbst)
  • Erste Bestätigung: „Wirklich löschen?“
  • Zweite Bestätigung: Name oder E-Mail tippen, dann „Endgültig löschen“
  • Schutz vor Selbst-Löschung und dem Löschen des letzten aktiven Admins
  • Passwort zurücksetzen und Deaktivieren unverändert

v1.0.11

Hinweis auf neue E-Mails: Badge mit Ungelesen-Zahl am Postfach (Desktop-Nav + mobile Leiste), Toast bei neuer Mail während die App offen ist.

Postfach

  • Ungelesen-Badge am Postfach in der Desktop-Navigation und in der mobilen unteren Leiste
  • Zähler auch im Konto-Menü; Punkt am Avatar wenn ungelesen
  • Toast „Neue E-Mail“, wenn während der Nutzung neue Post eingeht (Polling ca. 60 s, pausiert offline)
  • Optionale Browser-Benachrichtigung nur nach Zustimmung – kein Push-Zwang
  • Ohne eingerichtetes Postfach, leerem Posteingang oder offline: kein Badge / keine Fehlermeldung

v1.0.10

pCloud-Videos spielen inline in der App (Konzept, Übungen, Training) — nicht nur über den externen Link.

Videos

  • pCloud-Freigaben werden serverseitig aufgelöst und im HTML5-Player abgespielt (mobil + Desktop)
  • Bei Fehlern klare deutsche Meldung mit Fallback „In pCloud öffnen“
  • YouTube-, Vimeo- und hochgeladene Clips unverändert

v1.0.9

Admin: globale Mailserver-Einstellungen und E-Mail-Domain; neue Postfächer übernehmen Host/Port/Domain vorausgefüllt.

Postfächer

  • Admin → Postfächer: IMAP/SMTP und Vereins-Domain einmal global hinterlegen
  • Neues Postfach: Serverdaten und Domain vorausgefüllt; lokal nur Name, Passwort und Bezeichnung nötig
  • Bestehende Postfächer behalten abweichende Serverdaten beim Bearbeiten

v1.0.8

Alle Dialoge und Bestätigungsfenster: scrollbarer Inhalt, Aktionsleisten bleiben erreichbar.

UI

  • Gemeinsame Dialog-Komponente: viewport-sichere Maximalhöhe, scrollbare Inhaltsfläche, sticky Header/Footer
  • AlertDialog ebenfalls scrollbar; Adressbuch-Dialog nutzt DialogBody wie andere Formulare

v1.0.7

Adressbuch: Speichern-API robuster, klarer Hinweis bei fehlendem Deploy, Eintragungsdialog scrollbar mit erreichbarem Speichern-Button.

Adressbuch

  • Speichern und Löschen robuster; Toast erklärt fehlende Einrichtung statt nur „Fehler 404“
  • Kontakt-Dialog: scrollbarer Inhalt, Speichern/Abbrechen bleiben im Footer sichtbar (mobil + Desktop)

v1.0.6

Adressbuch: Speichern mit klarer Fehlermeldung, lesbare Bezeichnungen statt Rohwerten, Spielleiter mehreren Teams zuordenbar.

Adressbuch

  • Speichern zeigt bei fehlender Einrichtung eine klare Anleitung statt stiller Fehler
  • Art-Auswahl zeigt „Allgemein“ / „Spielleiter“
  • Ein Spielleiter-Kontakt kann mehreren Teams zugeordnet werden; Spielbericht nutzt weiterhin die E-Mail am jeweiligen Team

v1.0.5

Adressbuch im Postfach, feste PDF-Dateinamen für Spielbericht/Quittung, ab U14 nur noch Quittung bei Heimspielen.

Postfach / Adressbuch

  • Admin → Adressbuch: globale Kontakte anlegen, bearbeiten, löschen
  • Mail-Composer: An/CC/BCC aus dem Adressbuch wählen
  • Spielleiter-Kontakte mit Team verknüpfbar (füllt Spielleiter-E-Mail am Team)

Spielbericht

  • Feste PDF-Namen: Ligakürzel_Spielnummer_Heim_Gast.pdf bzw. …_SR.pdf
  • Ligakürzel/Kurzname am Team; Spielnummer, Ligakürzel und Gegner-Kurz am Spiel pflegbar
  • Ab U14: kein Spielberichtsbogen-Versand; nur Schiedsrichterquittung bei Heimspielen
  • U12 und jünger: bisheriges Verhalten (Berichtsbogen + Quittung bei Heimspiel)

v1.0.4

Spieltag: Spielberichtsbogen und Schiedsrichterquittung abfotografieren, als PDF speichern und an den Spielleiter mailen.

Spieltag

  • Kamera-Capture für Spielberichtsbogen; bei Heimspielen zusätzlich Schiedsrichterquittung
  • Fotos werden als PDF gespeichert (Cloud-Speicher oder Demo auf dem Gerät)
  • Versand an Spielleiter aus dem Spieltag (Anhänge, CC/BCC); Empfänger pro Team konfigurierbar

v1.0.3

Postfach: mehrere Nachrichten löschen oder als Spam markieren; CC und BCC beim Versenden.

Postfach

  • Mehrfachauswahl in der Nachrichtenliste: löschen mit Bestätigung (Papierkorb/Expunge)
  • Als Spam markieren (einzeln und für Auswahl): Verschieben in Junk/Spam, Ordner anlegen wenn möglich
  • Composer: Felder CC und BCC; Signatur-Footer unverändert

v1.0.2

Trainingseinheiten: Titel überall änderbar; falsch angelegte Einheiten löschen (mit Bestätigung).

Training

  • Titel jeder Einheit (inkl. Import und feste Termine) in Liste und Detail änderbar und persistent
  • Einheiten löschen mit Bestätigung; Slot-Termine kommen danach nicht stillschweigend zurück

v1.0.1

Spielminuten ab U14: live tracken oder nachträglich eintragen; Statistik zeigt Minuten statt Einsätze.

Spieltag & Statistik

  • Ab U14 (und Herren/Senioren): gespielte Minuten live per Stoppuhr und Ein-/Auswechslung erfassen
  • Minuten nachträglich pro Spieler:in eintragen oder korrigieren
  • U12 und jünger: weiterhin Einsätze über Achtel; Statistik wählt die Kennzahl nach Altersklasse

v1.0.0

Erste offizielle Versionsnummer für den Production-Stand von BG Bamberg Courtside (Tip inkl. Avatare, Postfach, Profil und White-Label).

Profil & Avatare

  • Profilfoto: eigener Upload (Storage) und Auswahl aus Basketball-Avatar-Presets
  • 16 lizenzfreie Basketball-Avatare; alle Presets ohne Scrollen sichtbar

Postfach

  • In-App-Postfach über IMAP/SMTP für Vereinsadressen
  • Nachrichten löschen und Signatur-Footer mit Vereinsbranding beim Versand
  • Klare Hinweisseite, wenn das Postfach noch nicht eingerichtet ist

White-Label & Admin

  • App-Titel nach Muster „{Vereinsname} Courtside“ (Bamberg-Default)
  • Club-Config für Name, Logo und Farben (eine Instanz pro Verein)
  • Admin: Passwort für Coaches zurücksetzen

Navigation

  • Mobil: kompakte Kopfzeile und horizontal scrollbar Hauptnavigation
  • Browser-Top-Nav: Icons mit Tooltips unterhalb von 2xl-Breakpoints

Passmappe, Statistik & Trainingsgruppe

  • Digitale Passmappe: Spielerpässe des Kaders in Vollbild (Swipe / Pfeiltasten)
  • Klarer Hinweis, wenn kein Pass hinterlegt ist; Karten volle Viewport-Breite
  • Saisonstatistik: Trainingsbeteiligung und gespielte Achtel/Viertel
  • Trainingsgruppe pro Einheit: erwartete Spieler festlegen, Entfernte oben anzeigen

Teamfarben

  • Erweiterte Vorlagen (Gelb, Gold, Weiß) und eigene Farbe per Color-Picker / Hex

Training & Spieltag (Aufbau Oktober 2026)

  • Feste Trainingstermine: Hallen, wöchentliche Slots, Ferien und Absage/Verlegung
  • Hallen & Termine in Übersicht und Kontomenü sichtbar
  • Einsatzzeiten: Aufstellungsplan und Live-Erfassung pro Achtel/Viertel
  • Teams verwalten (Saison, Archiv) und TeamSL-Spielplan-Abgleich
  • Spieltag: TA-Nummer, Spielerpass, Trainingsnoten, Kader, Kaderliste und Kadervorschlag
  • Spielerliste importieren (CSV/XLSX) mit Spaltenzuordnung und Saisonabgleich

Grundlage

  • Branding BG Courtside: Vereinslogo, Favicon und Bamberg-Farbschema
  • Backend mit Zugriffsrechten, Dateispeicher, Coach-Login und Admin-Bereich
  • Lokaler Store mit Sync und Demo-Modus ohne Backend
  • PWA: Manifest, Offline-Hinweis und installierbare Oberfläche
  • Kernmodule: Kader, Trainingsplanung, Anwesenheit, Taktikboard, Konzeptseite