Kurzer bio-Text durch Miss' vollständigen Vorstellungstext ersetzt, im
selben bioHtml-Format wie bei Ghost: TikTok-Handle @seelen_staub, ihre
Rolle als Cutterin bei DogFathers Clips, Leben abseits von TikTok, Werte
(Ehrlichkeit, Treue, Respekt), Signatur. Social-Link TikTok ergänzt.
Auf Nutzerwunsch aus der DogFather-Fotogalerie (medien-dogfather.html)
genommen. Die Bilddatei char-dogfather.jpg selbst bleibt erhalten (falls
später anderweitig gebraucht), wird aber nicht mehr in der Galerie gezeigt.
- streamer.html: kompletter Inhalt ersetzt durch Dogis ausführliche
persönliche Vorstellung ("Wer ist DogFather? - Mehr als nur ein Name").
Enthält erstmals öffentlich: Filipe, 34, Portugiese, seit Februar 2026
in Luxemburg, Partnerin Franzi. Abschnitte: Der Mensch hinter DogFather,
DogFather als Streamer, Casper, Team Dogi/VanVan, DogFather als Manager
(Scouts Patrick & Bananenstift verlinkt), Was macht DogFather aus,
Schluss-Statement mit Signatur. Schlanke Buttonzeile am Ende erhalten
fuer Navigation (Videos/Galerie/Team Dogi).
- Neue Standing Rule: "DogFather" wird IMMER mit großem F geschrieben
(nicht "Dogfather"). Site-weit korrigiert in 29 Dateien (Anzeige-Text,
Alt-Texte, Meta-Beschreibungen, Kommentare) - technische Bezeichner
(Dateinamen, data-theme-Werte, CSS-Klassen, @dogfather0804-Handle)
bleiben bewusst unangetastet, da alle klein geschrieben sind und somit
von der Ersetzung gar nicht erst betroffen waren.
Bisher sprang die Nummerierung von Stufe 2 (Diene/Funny) direkt auf
Stufe 4 (Miss) - Stufe 3 fehlte komplett, weil profil.html und
team-modis.html beide den rohen "rank"-Wert anzeigen (nicht die intern
für die Pyramiden-Größe berechnete Position). Miss/Marina/Michi/Ghost
jeweils um 1 nach vorne gerückt (3/4/4/5), dadurch sind Anzeige auf der
Team-Übersicht UND auf den einzelnen Profilseiten jetzt konsistent
lückenlos. Ghosts rankLabel "Ghost" -> "Geist" (letzte Stufe).
- data-modis.js: "– eure Diene 🩵" als Signatur ans Ende ihrer
ausführlichen Vorstellung ergänzt
- medien-casper.html: Events-Sektion entfernt (Wunsch Dogi) - nur noch
Fotos + Videos. data-aktionen.js-Script-Include und Meta-Texte
entsprechend bereinigt.
Auf Wunsch von Dogi: Medien-Menü zeigt jetzt Dogfather / HasiDog / Casper
statt Galerie / Videos / Aktionen. Jede der 3 neuen Seiten
(medien-dogfather.html / medien-hasidog.html / medien-casper.html) zeigt
alles zu ihrer Welt an einem Ort, sauber in 3 Bereiche kategorisiert:
Fotos, Videos, Events.
- Neu: assets/js/data-media.js (ersetzt gallery.js) - Fotos jetzt mit
welt: dogfather|hasidog|casper statt dogfather/team/hasidog/manager.
Team-Mitglieder-Fotos und Logo entfernt (Wunsch Dogi - passen in keine
der 3 Welten, bleiben weiter auf ihren Profilseiten). Casper-Fotos aus
der alten "hasidog"-Sammelkategorie sauber herausgelöst. Zusätzliche
bisher ungenutzte Fotos ergänzt (dogfather-main, char-dogfather,
manager-dogfather-portrait, char-hasidog, casper-main).
- Neu: assets/js/data-videos.js - Struktur pro Welt vorbereitet (noch
keine echten Videos vorhanden, Platzhalter "folgt in Kürze")
- data-aktionen.js: alle 4 bestehenden Events als welt:"dogfather"
getaggt (alles Team-Dogi-weite Community-Aktionen)
- Neu: assets/js/medien-welt.js - eine gemeinsame Render-Logik für alle
3 Seiten (liest body[data-welt]), rendert Foto-Grid+Lightbox,
Video-Grid, Events-Grid gefiltert nach Welt
- aktion-detail.html: "Zurück"-Button zeigt jetzt dynamisch auf die
Events-Sektion der richtigen Welt (aktion.welt)
- main.js NAV: Medien-Untermenü aktualisiert
- Alle Querverweise site-weit korrigiert (casper.html, community.html,
hasidog.html, index.html, streamer.html) - Anker-Links (#fotos/#videos/
#events) für Deep-Links direkt in den passenden Bereich
- Alte Dateien gelöscht: medien.html, videos.html, aktionen.html,
gallery.js
- sitemap.xml aktualisiert
- bewerben.html: die zwei neuen Kampagnen-Poster (Dogfather/Team-Dogi links,
Spicy Media rechts) flankieren jetzt die beiden Bewerbungs-Spalten wie
Kinoplakate, leicht gekippt, farblich passend zur jeweiligen Seite,
blenden nach unten sanft aus. Bewusst als eigene scharfe Bildspalte statt
als verwaschener Hintergrund hinter den Karten, damit beides in voller
Qualität lesbar bleibt. Ab 1080px Breite ausgeblendet (kein Platz mehr).
- creator.html: neues, extra dafür erstelltes "Die Creator"-Breitbild als
Hintergrund, ersetzt den bisher wiederverwendeten Bewerbungs-Platzhalter
- data-modis.js: Funny von Stufe 3 auf Stufe 2 - jetzt gleiche Hierarchie-
Ebene wie Diene (Pyramide gruppiert automatisch per Stufe, keine
Code-Änderung an der Anzeige-Logik nötig)
- Alle Bilder als optimierte JPEGs eingebunden (PNG-Originale via
System.Drawing skaliert/komprimiert, 63-232 KB statt 1,9-2,6 MB)
- .btn (primary/secondary/outline) bekommt jetzt sitewide denselben STIL wie
der "Bewerben"-Knopf oben (wandernde, weichgezeichnete Farbwolken +
Lichtschimmer) - aber mit den Farben der jeweiligen Seite/Karte
(--accent/--accent-2) statt der festen Regenbogen-Palette. Läuft über
negative z-index-Ebenen, Button-Text bleibt automatisch scharf obenauf,
keine HTML-Änderung in den ~30 Seiten nötig.
- Musik-Knopf zeigt den festen Polarlicht-Look (wie der Bewerben-Knopf)
jetzt auch auf der Startseite, nicht mehr nur auf den Bewerben-Seiten -
auf allen anderen Seiten bleibt er das Chamäleon (passt sich dem
jeweiligen Seitenbild an)
- main.js: SPA-Seitenwechsel übernimmt jetzt die komplette body-Klassenliste
der neuen Seite (vorher wurde nur "mit-hintergrund" einzeln synchronisiert -
Sonderklassen wie "bewerben-seite"/"start-seite" blieben beim Klick-Wechsel
fälschlich hängen bzw. fehlten)
Bisher kannte der Knopf nur 3 feste Weltfarben (dogfather/hasidog/
spicymedia). Jetzt analysiert main.js (musikKnopfFarbenAnpassen) per
Canvas das tatsächliche Bild jeder einzelnen Seite - Durchschnittsfarbe
plus die kräftigste Farbe darin, als Verlauf - und setzt sie live als
--music-c1/--music-c2 auf den Knopf.
Bildquelle in Prioritätsreihenfolge: 1) scharfes Hero-Banner-Bild,
2) Startseiten-Artwork, 3) Ambiente-Hintergrundbild der Seite. Ohne
Bild fällt der Knopf sauber auf die normale Weltfarbe zurück. Läuft
beim ersten Laden UND nach jedem nahtlosen Seitenwechsel (SPA-Navigation),
damit die Farbe wirklich bei jeder Seite mitwechselt.
Auf Wunsch: die öffentlichen Bewerbungsseiten (bewerben*.html) bleiben
unverändert bestehen, aber die internen "Rückseiten", wo die Bewerbungen
verwaltet wurden, werden nicht mehr gebraucht und sind komplett raus:
- postfach.html (Bewerbungs-Postfach) und zugaenge.html (Zugänge & Rollen)
gelöscht
- zugehörige tote Skripte gelöscht: postfach.js, zugaenge.js, admin-auth.js
- "Login"-Knopf in der Navigation entfernt
- "Intern"-Block im Footer (Bewerbungs-Postfach / Zugänge & Rollen) entfernt
- KEIN_NAHTLOSER_WECHSEL-Ausnahmeliste geleert (referenzierte nur die
jetzt gelöschten Seiten)
- .nav-login CSS-Regeln entfernt (totes CSS)
- robots.txt: Disallow-Zeile für /postfach.html entfernt
Der Cloudflare-Worker (Backend/D1) und die Bewerbungsformulare selbst
bleiben unangetastet — Bewerbungen können weiterhin eingereicht werden.
- Ghost (Modi-Profil): ausführliche neue Selbstvorstellung "Vom stillen
Zuhörer zum festen Teil der Familie" ersetzt die bisherige Kurzversion
- casper.html: neuer Abschnitt mit Caspers eigener Vorstellung aus seiner
Perspektive ("Ein Husky mit dem größten Herzen der Welt")
- Links: Instagram & Snapchat als Platzhalter ergänzt, Discord auf "Nur auf Anfrage" -> Kontaktseite
- Musik-Button auf allen Bewerben-Seiten bekommt jetzt das gleiche Polarlicht-Design wie der Bewerben-Nav-Button
- Streamplan im Nav-Menu zurück in die HasiDog-Kategorie verschoben
- Neuer Textabschnitt "Der Mensch hinter DogFather" auf dogfather.html und streamer.html ergänzt
- "Bewerben"-Knopf: statt einfacher 50/50-Teilung jetzt ein echtes
Polarlicht aus wandernden blau/lila/rot/orange Farbwolken plus
durchlaufendem Lichtschimmer (zwei animierte Ebenen)
- Musik-Knopf: faerbt sich wieder mit der Theme-Farbe der jeweiligen
Seite ein (babyblau/rot), statt fest halb/halb zu sein
- werte.html: komplett neuer Text "Meine Werte als Manager" als
13 Wert-Karten (Mindset, Loyalitaet, Menschlichkeit, Kommunikation,
Verantwortung, Entwicklung, Ziele, Loesungen, Respekt, Individualitaet,
Zusammenhalt, Leidenschaft, Anspruch) plus Intro und Schluss-Zitat
- manager.html: neuer Text "Das bin ich als Manager" mit neuem Portrait
(Dogfather-Neon-Artwork) als Hauptinhalt; das alte Spicy-Media-Logo
samt Text ist jetzt ganz unten vor dem Footer
- team-scouts.html: Ueberschrift "Mein Scout-Team" statt "Unser
Scout-Team"; Patrick ist jetzt "Rechte Hand" (Bananenstift bleibt
"Linke Hand")
Co-Authored-By: Claude Opus 5 <[email protected]>
- Funny: Rolle unter dem Bild jetzt "Mama der Community" statt "Modi"
- Alle Profilkarten (Modis, Scouts, Creator) haben jetzt einen festen
lila Avatar-Ring statt der zufaellig rotierenden Farben -- Dogi
gefiel, wie Michis zufaellig lila wurde
- Scout-Team: Patrick und Bananenstift zeigen jetzt "Scout (Manager) —
Linke Hand" statt "Scout — Team Dogi"
- Neues Feld bioHtml (neben dem bisherigen kurzen bio) in allen drei
Datendateien (Modis/Scouts/Creator): fuer ausfuehrliche, formatierte
Vorstellungen mit mehreren Absaetzen und Zwischenueberschriften.
profil.html rendert bioHtml jetzt in einem eigenen, breiteren Lese-
bereich unterhalb des kurzen Steckbriefs -- funktioniert fuer jede
Person auf der Seite, nicht nur als Einzelfall
- Diene: komplette eigene Vorstellung eingetragen (bioHtml) + TikTok-
Handle @_ditschi als Social-Link ergaenzt
Co-Authored-By: Claude Opus 5 <[email protected]>
Wunsch: eigene Seiten fuer Agentur-Bewerbungen und Community, konkret
Modi fuer Dogfather, Scouts fuer Dogfather, und Streamer die Dogfather
als Manager suchen -- statt allem auf einer Seite mit Tabs.
Neu:
- bewerben-modi.html -- Community/Team Dogi, babyblau, eigenes Motiv
- bewerben-scout.html -- Agentur, rot, Scout-Motiv
- bewerben-creator.html -- Agentur, rot, "Streamer? Ich such dich als
Creator." -- fuer Streamer, die einen Manager suchen
- bewerben-kooperation.html -- Agentur, rot, Business-Anfragen
bewerben.html ist jetzt eine kurze Uebersicht mit drei grossen Karten
(Modi/Scout/Creator) plus einem Hinweis auf die Kooperationsseite,
statt eines Tab-Systems.
Alle internen Links aktualisiert (team-modis.html, team-scouts.html,
creator.html, links.html-Text) auf die jeweils passende, direkte Seite.
Generische "Jetzt bewerben"-Knoepfe (Startseite, Werte, Manager) bleiben
bewusst auf der Uebersicht, da dort keine Rolle vorausgewaehlt ist.
forms.js vereinfacht: das Tab-/Hintergrundwechsel-System ist raus, jede
Seite traegt ihr Motiv jetzt wie jede andere Seite der Website fest im
HTML. Kein Backend-/Datenbankaenderung noetig -- "modi" war schon als
Bewerbungstyp erlaubt.
Co-Authored-By: Claude Opus 5 <[email protected]>
- bewerben.html: neuer Reiter "Modi" mit eigenem Formular (Name, E-Mail,
Discord/TikTok-Handle, Community-Erfahrung, Verfuegbarkeit, Motivation)
- Reiter wechselt jetzt nicht nur das Hintergrundbild, sondern auch die
Farbwelt: Creator/Scout/Kooperation bleiben Spicy-Media-rot (Agentur),
Modi wird babyblau (Team Dogi) -- passend zur bestehenden Regel
"Rot ist NUR die Agentur"
- Direkt-Link bewerben.html#modi oeffnet die Bewerbung gleich auf dem
richtigen Reiter; team-modis.html hat jetzt einen "Als Modi bewerben"
Knopf, der genau dahin fuehrt
- Worker: "modi" als vierter erlaubter Bewerbungstyp, laeuft ueber
dieselbe Sichtbarkeits-Berechtigung wie Scout/Kooperation (der feste
Rechte-Katalog aus dem Anforderungsdokument kennt nur zwei Bewerbungs-
Sichtbereiche -- es wurde bewusst KEIN neuer Permission-Key erfunden)
Co-Authored-By: Claude Opus 5 <[email protected]>
Neues optionales Feld rankLabel ueberschreibt nur die ANZEIGE der Stufe,
die Sortierung laeuft weiter ueber rank. Wirkt auf team-modis.html und
profil.html.
Co-Authored-By: Claude Opus 5 <[email protected]>
Wunsch: Klick auf eine Person (z.B. Bananenstift) oeffnet eine eigene
Seite mit grossem Foto und Vorstellungstext daneben - fuer jeden.
- Neue Seite profil.html: generische Profilseite, liest Person per
?p=<slug> aus MODIS/SCOUTS/CREATORS, zeigt grosses Foto (4:5, farbiger
Rahmen passend zur Person), Name, Rolle, Vorstellungstext, optional
Zitat und Social-Links. Welt/Theme (blau=Team Dogi, rot=Agentur) und
Hintergrundmotiv passen sich automatisch an, ob die Person Modi,
Scout oder Creator ist. Unbekannter Slug zeigt eine freundliche
Fehlermeldung statt kaputter Seite.
- data-modis.js, data-scouts.js, data-creator.js: neues Feld "slug"
(eindeutige ID fuer die URL) und "bio" (Vorstellungstext) fuer jede
Person ergaenzt. VanVan behaelt ihre eigene, ausfuehrlichere Seite
(vanvan.html) und wird nicht auf profil.html umgeleitet.
- team-modis.html, team-scouts.html, creator.html, index.html
(Team-Vorschau): Karten sind jetzt komplett anklickbar (ganze Karte
ist ein Link), nicht mehr nur ein kleiner Knopf.
- Bugfix: gerade curly quotes ("„...\"") mitten in einem doppelt
angefuehrten JS-String schlossen den String vorzeitig ab und haetten
main.js kaputt gemacht (per node --check gefunden, bevor es live ging).
Co-Authored-By: Claude Opus 5 <[email protected]>
Ursache gefunden und im Browser nachgewiesen: Ein relativer Pfad in einer
CSS-Variablen wird nicht gegen die HTML-Seite aufgeloest, sondern gegen die
Datei, in der die Variable benutzt wird — also assets/css/main.css. Daraus
wurde "assets/css/assets/img/bg-*.jpg", was es nicht gibt. Ergebnis: kein
Bild, nur der Abdunkelungs-Verlauf war sichtbar.
- Alle 14 Seiten auf absolute Pfade ab Seitenwurzel umgestellt
(/assets/img/...), die stimmen unabhaengig von der Aufloesung
- Gleiche Korrektur im Reiter-Wechsel der Bewerbungsseite
Co-Authored-By: Claude Opus 5 <[email protected]>
Die Modis sind Dogfathers persoenliches Team (Team Dogi) und standen
faelschlich unter "Manager" — passend zur Regel: Rot/Agentur nur fuer
Spicy Media, Team Dogi ist babyblau.
- Navigation: Modi-Team und VanVan von "Manager" nach "Dogfather"
- Fusszeile: Modi-Team und VanVan in die Dogfather-Spalte, dafuer
Community zur HasiDog-Spalte
- Manager-Seite: Modi-Karte aus "Das Team dahinter" entfernt, dort
bleiben nur Scouts und Creator
Co-Authored-By: Claude Opus 5 <[email protected]>
Die Motive waren da, aber viel zu stark abgedunkelt und nur hinter dem
Kopfbereich - dadurch praktisch unsichtbar.
- Motiv traegt jetzt die GANZE Seite: fest hinter allem, leicht
weichgezeichnet, sanft abgedunkelt. Beim Scrollen ueberall praesent.
- Im Kopfbereich zeigt es sich gestochen scharf und fast unabgedunkelt
(vorher bis zu 88% schwarz, jetzt nur noch wenige Prozent in der Mitte)
- Lesbarkeit ueber kraeftige Schriftschatten statt ueber Abdunkeln
- Kopfbereich hoeher und mittig ausgerichtet, damit das Motiv wirkt
- Bildvariablen liegen jetzt am <body> und vererben sich nach unten;
nahtloser Seitenwechsel und Reiter-Wechsel nehmen sie korrekt mit
Co-Authored-By: Claude Opus 5 <[email protected]>
Login:
- Kleiner "🔒 Login"-Knopf oben rechts in der Navigation, auf jeder
Seite sichtbar. Fuehrt direkt zum Postfach mit der Code-Eingabe.
Nahtloser Seitenwechsel:
- Klicks auf interne Links tauschen nur noch <main> aus, statt die
ganze Seite neu zu laden. Kopfzeile, Fussleiste und Musik-Knopf
bleiben stehen — der Spotify-Player laeuft dadurch weiter.
- Postfach und Zugaenge sind bewusst ausgenommen und laden normal:
an Login, Sitzung und Rechten aendert sich nichts.
- Seiteneigene Skripte werden der Reihe nach nachgeladen; spaete
DOMContentLoaded-Anmeldungen laufen sofort, damit Inhalte wie die
Team-Vorschau auch nach einem Wechsel erscheinen.
- Faellt bei einem Fehler automatisch auf normales Laden zurueck.
- Zurueck-/Vorwaerts-Knopf und geteilte Links funktionieren weiter.
Co-Authored-By: Claude Opus 5 <[email protected]>
- Alle grossen Musik-Abschnitte entfernt (Start, Links, HasiDog, VanVan)
- Neuer schwebender Musik-Knopf unten rechts, wie im Analyse-Tool:
Klick oeffnet ein Feld mit den Playern von Hasidog und Van-Van
- Zentral in main.js gerendert, erscheint dadurch automatisch auf ALLEN
Seiten, ohne jede Datei einzeln anzufassen
- Player werden erst beim ersten Oeffnen geladen, damit keine Seite
unnoetig zwei fremde Einbettungen mitzieht
- Schliessen per Knopf oder Escape, kleiner auf dem Handy, im Druck aus
Co-Authored-By: Claude Opus 5 <[email protected]>
Bilder:
- Neues Hintergrund-System (.page-bg): jede Seite setzt ihr Motiv ueber
zwei CSS-Variablen, inkl. eigenem Hochformat-Zuschnitt fuers Handy und
Abdunkelung fuer Textlesbarkeit
- Hintergruende: Casper, Dogfather, Modi-Team, Scouts, VanVan, Bewerben,
Manager, Streamplan, Zeitreise, Stimmen, Community, Werte, Creator
- Bewerbungsseite wechselt den Hintergrund mit dem gewaehlten Reiter
- Neue Hauptfotos auf der Casper- und der Dogfather-Seite
- Stream-Highlight-Bild auf der Streamer-Seite
- Funny (Team-Tili-Dog-Abzeichen) und Ghost jetzt mit Bild
Inhalt:
- Scout-Beschreibung: "Sie finden und begleiten neue Talente fuer Dogi."
- Alle Angaben zu Beteiligungen/Verdiensten der Scouts von der Website
entfernt — interne Vereinbarungen gehen die Oeffentlichkeit nichts an
Co-Authored-By: Claude Opus 5 <[email protected]>
- Alle Fotoflaechen bekommen denselben Rahmen-Look wie die Avatare:
farbige Linie, dunkle Trennkante, Glow und Hover-Anhebung
- Fuenf Rahmenfarben wechseln sich ab (babyblau, lila, silber, gold,
tuerkis) — auch die Avatar-Ringe der Profilkarten rotieren durch
- Team-Dogi-Collage als abgedunkelter Hintergrund hinter dem
Team-Abschnitt der Startseite und dem Modi-Team-Hero, mit eigenem
Hochformat-Zuschnitt fuers Handy
- Bananenstift (Scout) hat jetzt sein Bild
Co-Authored-By: Claude Opus 5 <[email protected]>
Musik:
- Echte Spotify-Player statt nur Links — Hasidog und Van-Van lassen sich
jetzt direkt auf der Seite abspielen, ohne wegzuklicken
- Startseite und Links-Seite: beide Kuenstler; HasiDog-Seite: Hasidog;
VanVan-Seite: Van-Van
- Eigene Player-Optik (music-grid / music-player), lazy geladen
Bilder aus dokumente-Bilder ergaenzt:
- Spicy-Media-Logo ersetzt den Platzhalter auf der Manager-Seite
- Michi: Team-Dogi-Karte + Gesichts-Avatar
- Patrick (Scout): Portrait-Avatar
Co-Authored-By: Claude Opus 5 <[email protected]>
Die runden Avatare zeigten bisher die grossen 1200x1200-Team-Karten mit
Rahmen, Goldschrift, Husky und Hase - bei 96 Pixeln nur Matsch.
- Neue Dateien avatar-*.jpg: sauber zugeschnittene Gesichts-Portraits
(400x400) aus den Karten, jedes Gesicht mittig und erkennbar
- data-modis.js bekommt ein eigenes Feld "avatar"; die grosse Karte
bleibt unter "photo" fuer grosse Darstellungen erhalten
- Avatar groesser (108px), mit Akzent-Ring, Glanz und Hover-Anhebung
- Ohne Foto jetzt nur noch EIN Buchstabe statt zwei (kein "FU" mehr)
- Profilkarten mit Lichtschein hinter dem Avatar und Hover-Effekt
Co-Authored-By: Claude Opus 5 <[email protected]>
- Neues Modul lib/tiktok-live.js liest den Live-Status direkt von der
oeffentlichen TikTok-Live-Seite (SIGI_STATE -> liveRoom.status,
2 = live, alles andere = offline; bestaetigt durch yt-dlp)
- Cron-Trigger im Worker prueft jede Minute und schreibt das Ergebnis
nach app_settings; schlaegt ein Abruf fehl, bleibt der letzte gute
Stand stehen statt faelschlich auf offline zu springen
- /live-status liefert jetzt Quelle, Titel und Zeitpunkt der Pruefung
- Punkt ist rot wenn offline, gruen+pulsierend wenn live, grau solange
der Status laedt; Startseite aktualisiert alle 30 s ohne Neuladen
- Handschaltung bleibt als Notfall-Vorrang mit 3-Stunden-Ablauf, plus
Knopf "Zurueck zur Automatik" im Postfach
Co-Authored-By: Claude Opus 5 <[email protected]>
- Footer hat jetzt einen eigenen Block "Intern" mit Links zum
Bewerbungs-Postfach und zu Zugaenge & Rollen (vorher nur ein
winziger Link ganz unten)
- Postfach-Login verlinkt auf die Zugaenge-Seite
- Neue Tabelle app_settings + Endpunkt /admin/owner/set-code:
der Hauptadministrator kann seinen Code selbst aendern, mit
Bestaetigung des aktuellen Codes; gespeichert wird nur der Hash
- Neuer Tab "Mein Zugang" in zugaenge.html (nur fuer den Owner)
Co-Authored-By: Claude Opus 5 <[email protected]>