From 81f55d67db3e03d4cc3cc6228e71b81353877ac3 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Fri, 21 Aug 2026 03:47:51 +0200 Subject: [PATCH] Team-Verwaltung Runde 2: bestehende Mitglieder importieren + Kategorien/Seitentitel editierbar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nutzer-Wunsch 21.08.2026: "wenn ich eine änderung mache ist es auch für jeden für die die schon da sind und die neuen" + "ich will ich titel und namen von kategorien und seiten ändern können in der verwaltung". Backend (braucht Filipes manuellen Deploy): - Migration 0008: team_members bekommt intro/bioHtml/extraCta-Spalten -- volle Feld-Parität mit den von Hand gepflegten Profilen (Diene/ Patrick/Bananenstift/Marina nutzen diese Felder). - routes/team.js: neue importLegacyMember()-Funktion -- übernimmt ein bestehendes Profil 1:1 in die Datenbank, OHNE erneut zu übersetzen (die vorhandenen, von Hand geschriebenen Übersetzungen bleiben erhalten). Idempotent: mehrfacher Import erzeugt keine Duplikate. - routes/site-texts.js (neu): admin-editierbare Kategorie-Namen und Seitentitel, generischer key->{de,...}-Override über app_settings (wie "Event des Jahres"), fester Schlüssel-Katalog aus Sicherheitsgründen. Leeres Feld setzt auf den Standardtext zurück. - 27 Tests in isolierter Testumgebung geprüft (kein better-sqlite3 lokal kompilierbar). Frontend: - window.dogiTeamZusammenfuehren() (main.js): admin-Mitglieder ÜBERSCHREIBEN jetzt gleichnamige statische Einträge (per slug) statt sie zu duplizieren -- eine Bearbeitung wirkt dadurch für alle. - window.dogiSiteTexteLaden() + applyTranslations() erweitert um data-site-text-key -- Kategorie-Seitentitel (team-modis.html/ team-scouts.html/creator.html/manager.html) sind jetzt live editierbar. - Verwaltung: "📥 Bestehende Mitglieder importieren"-Knopf (holt VanVan/ Diene/Funny/Miss/Marina/Ghost/Patrick/Bananenstift aus den data-*.js- Dateien, VanVan bewusst ausgenommen -- eigene Sonderkarte + Seite), erweitertes Formular (Intro/ausführliche Vorstellung/zweiter Button, eingeklappt unter "Erweitert"), neue Sektion "Kategorien & Seitentitel" (4 Karten, sofort wirksam auf Website UND Verwaltung). Beim Testen einen echten UX-Bug gefunden und gefixt: die "Gespeichert"- Meldung nach dem Speichern eines Mitglieds wurde von der direkt anschließenden Formular-Zurücksetzung sofort wieder überschrieben und war nie sichtbar. Cache-Busting-Version auf 20260821k erhöht. Co-Authored-By: Claude Sonnet 5 --- 404.html | 12 +- abonnieren.html | 14 +- agb.html | 10 +- aktion-detail.html | 14 +- assets/js/main.js | 60 ++++ bewerben-creator.html | 14 +- bewerben-kooperation.html | 14 +- bewerben-modi.html | 14 +- bewerben-scout.html | 14 +- bewerben.html | 12 +- casper.html | 12 +- .../migrations/0008_team_members_rich.sql | 18 ++ community.html | 12 +- creator.html | 21 +- dogfather.html | 12 +- gate.html | 4 +- hasidog.html | 12 +- index.html | 16 +- kontakt.html | 12 +- links.html | 12 +- manager.html | 20 +- medien-casper.html | 18 +- medien-dogfather.html | 20 +- medien-hasidog.html | 20 +- profil.html | 20 +- rabattcodes.html | 12 +- server-internal/db.js | 1 + server-internal/index.js | 6 +- server-internal/routes/site-texts.js | 95 ++++++ server-internal/routes/team.js | 230 +++++++++++--- stimmen.html | 14 +- streamer.html | 12 +- streamplan.html | 18 +- supporter.html | 14 +- team-modis.html | 27 +- team-scouts.html | 29 +- tt-muddi.html | 12 +- vanvan.html | 12 +- verwaltung.html | 287 +++++++++++++++++- werte.html | 12 +- zeitreise.html | 12 +- 41 files changed, 894 insertions(+), 306 deletions(-) create mode 100644 cloudflare-worker/migrations/0008_team_members_rich.sql create mode 100644 server-internal/routes/site-texts.js diff --git a/404.html b/404.html index e9e1438c..055d8921 100644 --- a/404.html +++ b/404.html @@ -18,10 +18,10 @@ Seite nicht gefunden — DOGFATHER UNIVERSE - - - - + + + + @@ -41,7 +41,7 @@ - - + + diff --git a/abonnieren.html b/abonnieren.html index 94ec01e4..d6de94c7 100644 --- a/abonnieren.html +++ b/abonnieren.html @@ -19,10 +19,10 @@ - - - - + + + +