Team-Verwaltung Runde 2: bestehende Mitglieder importieren + Kategorien/Seitentitel editierbar
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 <[email protected]>
This commit is contained in:
+14
-13
@@ -19,10 +19,10 @@
|
||||
<meta name="twitter:description" content="VanVan, Diene, Funny, Miss und Marina — das Modi-/Core-Team von Team Dogi." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=20260821j" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260821j" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260821j" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260821j" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=20260821k" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=20260821k" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=20260821k" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=20260821k" />
|
||||
</head>
|
||||
<body class="mit-hintergrund" style="--page-bg:url('/assets/img/bg-dogfather.jpg');--page-bg-mobile:url('/assets/img/bg-dogfather-mobile.jpg');">
|
||||
<div id="site-header"></div>
|
||||
@@ -32,7 +32,7 @@
|
||||
<div class="hero-banner"><img src="/assets/img/bg-dogfather.jpg" alt="" loading="eager" /></div>
|
||||
<div class="container">
|
||||
<span class="eyebrow" data-i18n="tm_eyebrow">🩵 Team Dogi</span>
|
||||
<h1 data-i18n="tm_h1">Das Modi-Team</h1>
|
||||
<h1 data-i18n="tm_h1" data-site-text-key="seitentitel_modi">Das Modi-Team</h1>
|
||||
<p class="lead worlds" data-i18n="tm_lead">Das Rückgrat von Team Dogi — von VanVan bis Marina.</p>
|
||||
<!-- TikTok-Account der Modi-Gang (Nutzer-Wunsch 20.08.2026, umgezogen 21.08.2026 von
|
||||
streamer.html hierher: "in die modie seite zu den modis hinzufügen"). Passt hier
|
||||
@@ -72,9 +72,9 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-modis.js?v=20260821j"></script>
|
||||
<script src="assets/js/i18n-team-modis.js?v=20260821j"></script>
|
||||
<script src="assets/js/main.js?v=20260821j"></script>
|
||||
<script src="assets/js/data-modis.js?v=20260821k"></script>
|
||||
<script src="assets/js/i18n-team-modis.js?v=20260821k"></script>
|
||||
<script src="assets/js/main.js?v=20260821k"></script>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const grid = document.getElementById("modis-grid");
|
||||
@@ -133,14 +133,15 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
renderModis();
|
||||
document.addEventListener("dogi-sprache-geaendert", renderModis);
|
||||
|
||||
// 21.08.2026: über die Verwaltung angelegte Modis ergänzen (Nutzer-Wunsch
|
||||
// "überall wo Modis sind ... will ich dass ich die easy über meine
|
||||
// Verwaltungsseite hinzufüge"). Rang/Rang-Bezeichnung kommen mit, damit sie
|
||||
// sich sauber in die bestehende Pyramide einordnen.
|
||||
// 21.08.2026: über die Verwaltung angelegte/importierte Modis einmischen
|
||||
// (+ Runde 2: "wenn ich eine änderung mache ist es auch für jeden").
|
||||
// Rang/Rang-Bezeichnung kommen mit, damit sie sich sauber in die
|
||||
// bestehende Pyramide einordnen. dogiTeamZusammenfuehren() überschreibt
|
||||
// bereits importierte Modis (gleicher slug) mit ihrem aktuellen DB-Stand.
|
||||
if (window.dogiTeamLaden) {
|
||||
window.dogiTeamLaden("modi").then((neue) => {
|
||||
if (!neue.length) return;
|
||||
window.MODIS = [...window.MODIS, ...neue];
|
||||
window.MODIS = window.dogiTeamZusammenfuehren(window.MODIS, neue);
|
||||
renderModis();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user