Im Vertretungs-Dialog ersetzt ein Dropdown die Kachel-Auswahl; Sidebar- und Admin-Liste ebenfalls nach Name sortiert.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
chapters/ lag bisher im main-Branch, aus dem sich jede lokale
Installation bedient (z.B. per ZIP-Download) — dadurch bekam jedes
Chapter beim Einrichten die Mitgliederdaten aller anderen Chapter mit,
obwohl die App diese Daten ohnehin nie lokal liest, sondern immer live
über die Gitea-API holt.
Alle Lese-/Schreibzugriffe auf chapters/* laufen jetzt gegen den neuen
data-Branch (giteaDataUrl / giteaAuthUrl(..., 'data') inkl. branch:
'data' in den Schreib-Bodies). App-Code (index.html, admin.html,
version.json) bleibt weiterhin auf main. chapters/ ist aus main
entfernt (lokal weiterhin vorhanden, per .gitignore ausgeschlossen)
und liegt vollständig auf dem neuen data-Branch.
index.html liest jetzt ?chapter=<code> aus der URL und aktiviert das
Chapter automatisch, ohne dass der Lizenzcode manuell eingegeben
werden muss. start-helios.html ist ein Beispiel: eine kleine
Redirect-Datei, die man statt index.html verschickt/öffnet und die
direkt zum aktivierten Steuerpult des jeweiligen Chapters führt.
Präsentations-Klicker funktioniert jetzt durchgängig über die gesamte
Agenda-Sequenz, auch wenn der Tastatur-Fokus auf dem Display-Fenster
statt dem Steuerpult liegt (ArrowRight/Leertaste), plus ein dezenter
Klick-Button unten rechts im Display für Klicker mit Mausklick-Signal.
Zusätzlich: manuell gepflegte Sprechernotizen pro Agenda-Punkt, die
ausschließlich im Steuerpult angezeigt werden, nie im Display/Beamer.
Neue Agenda-Punkte im Steuerpult (frei per Drag & Drop sortierbar, wie
die Mitgliederliste), pro Punkt entweder als hochgeladenes Bild oder als
Live-Einbettung aus Zoho Show. Mitglieder-/Besucher-Vorstellungsrunde und
eine neue Marketing-/Ergebnisrunde (gleiche Reihenfolge, ohne Timer) sind
eingebaute Agenda-Punkte und lassen sich genauso einsortieren. Der
"Weiter"-Button folgt jetzt der kompletten Agenda-Reihenfolge statt nur
Mitglieder- und Besucherrunde.
Unterwegs behobene Bugs: unsichtbarer "Anzeigen"-Button (falsche
Button-Klasse), fehlendes chapters/<code>/-Präfix beim Bild-Upload,
Race-Condition beim Speichern eines gerade erst ausgewählten Bildes,
Agenda-Reihenfolge-Duplikate bei bestehenden Chaptern.
Anleitung um Agenda-Abschnitt ergänzt, plus Korrekturen zu Ordnername,
Aktivierungs-Kontakt, Admin-Panel-URL und Offline-Hinweis für
Live-Einbettungen. Screenshots-Ordner (inkl. bisher nie gepushter
Bestandsbilder) erstmals vollständig committet.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Foto-Auflösung für Vertretungen prüft nun auch manuelle Uploads
und synchronisierte Server-Fotos aus extras, nicht nur sub.photoUrl
und Mitglieder-Match. Ines-Benedict-Fall (Foto nur als Base64 in
extras) wird jetzt korrekt aufgelöst.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Main-Card wird gelb ab 15s Restzeit, BNI-Rot ab 5s
- Timer-Text kontrastabhängig (schwarz auf gelb, weiß auf rot)
- Fachgebiets-Pille immer in weißer Schrift lesbar
- Glockenton bei Ablauf (bell.mp3 als data-URI in HTML eingebettet)
- Große Sekundenanzeige rechts oben im Display-Header
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Anzeige (index.html):
- Mitgliederkoordinator-Bericht-Modus: 4x2 Kacheln mit
Jahreszielen, Sparkline-Trend und Monatswerte-Reihe pro
Kennzahl; jüngste Jahres-JSON-Datei wird automatisch gewählt
- QR-Code wird auf Abwesenheits- und Bericht-Anzeige
ausgeblendet (war zuvor vom letzten Mitglied übrig)
- Abwesenheits-Namen skalieren dynamisch (2.2rem bei wenigen
Einträgen bis 0.75rem bei vollen Listen)
- Fotos für Besucher und Vertreter in Runde 2: getDisplayData
fällt für Besucher zusätzlich auf loadExtras() zurück, damit
Stammvertreter-Fotos (photoB64) erscheinen; Besucher-Queue
nutzt dieselbe Fallback-Kette
Admin (admin.html):
- Karte "Mitgliederkoordinator-Bericht": Jahresziele und
Monatswerte je Chapter und BNI-Jahr erfassen
- _coordStatus()-Helfer für einheitliches Speicher-Feedback;
explizite Fehlermeldungen bei fehlendem Chapter/Monat,
HTTP-Detail bei Server-Fehlern, fehlendes Admin-Token auch
im Statusfeld
- Sort-Crash bei alten entries-Datensätzen ohne month-Feld
behoben (null-sicher) + Bereinigung beim Laden
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Blob-URL-Ansatz rückgängig gemacht (localStorage-Problem), stattdessen
beide Dateien gemeinsam per showSaveFilePicker aktualisieren.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Chapter können die Zeitanzeige deaktivieren. Update-Funktion ersetzt Datei direkt im richtigen Ordner.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Timer kann chapter-weit deaktiviert werden – Display-Ring, Countdown und Zeitbadges werden ausgeblendet.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Neues admin.html: eigenständiges Admin-Panel mit Tabs für Stammvertreter, Mitglieder, Superadmin, Einstellungen
- Stammvertreter-Feature in index.html: Profilvorrat für schnelle Vertreterauswahl, localStorage-basiert, chapter-spezifisch
- Stammvertreter-Picker im Vertretungs-Modal: Felder werden automatisch befüllt
- Superadmin: alle Chapter einsehen, version.json für Rollout pushen
- Import aus anderen Chaptern: Mitglied aus fremdem Chapter als Stammvertreter übernehmen
- Admin-Tab in index.html vereinfacht (Link zu admin.html)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- buildMembersJson() bettet Offline-Fotos (Base64) aus extras ein
- uploadMembersToGitea() lädt members.json via API hoch
- Admin-Panel: Token-Eingabe + Upload-Button + Status
- fetchChapterMembersFromGitea speichert photoData in extras
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Aktivierungsscreen mit Lizenzcode-Eingabe
- Hintergrund-Lizenzprüfung bei jedem Start
- Admin-Tab mit Mitglieder-Sync und Update-Check
- version.json + chapters/sonne-7x4m9k/ Struktur
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>