- .nav-bar: justify-content von space-between auf flex-start + eigenen
Gap gewechselt — Menü rückt näher ans Logo, übriger Platz bleibt rechts
statt als große Lücke zwischen Logo und "Start" zu klaffen.
- .nav-links Abstand nochmal erhöht (2.1rem -> 2.4rem), da "Start"/
"Manager" laut Rückmeldung immer noch zu eng wirkten.
- Jede Nav-Kategorie (DogFather/HasiDog/Manager/Medien/Start) bekommt
jetzt einen dezenten, augenschonenden Polarlicht-Schimmer in den
ECHTEN Farben ihrer jeweiligen Welt (aus theme-dogfather/-hasidog/
-spicymedia.css) — ruhig im Normalzustand, etwas kräftiger bei Hover/
offenem Dropdown. "Links" bleibt bewusst neutral (keine eigene Welt).
.nav-links gap von 1.6rem auf 2.1rem erhöht. Hamburger-Schwelle
entsprechend von 1260px auf 1320px nachgezogen, damit bei mittleren
Laptop-Breiten weiterhin alles sauber passt statt zu überlaufen.
Beim Tagescheck-Selbstaudit gefunden: nach der Header-Vergrößerung vom
letzten Deploy (Logo/Schrift/Sprachschalter/Bewerben-Button größer)
passte die Desktop-Nav bei Viewport-Breiten zwischen ~900 und ~1250px
nicht mehr in eine Zeile — Sprachschalter und Bewerben-Button
verschwanden sichtbar rechts aus der Leiste, ohne dass der mobile
Hamburger-Umbruch (bisher erst ab 880px) schon gegriffen hätte.
Hamburger-Schwelle auf 1260px angehoben, damit die enge Zone komplett
vom mobilen Menü statt der zu schmalen Desktop-Zeile abgedeckt wird.
Auf Wunsch von Dogi dauerhaft festgehalten: Perfektionsanspruch, i18n-
Pflicht für jeden Text (inkl. JS-gerenderte Strings), Validierungs- und
Verifikations-Workflow vor/nach jedem Deploy, Chrome-Test-Sicherheits-
regel, Nachaudit-Pflicht nach größeren Batches. Spiegelt die
ausführlichere Fassung im Vault (DogFather Website.md).
Nach der Größenanpassung passte der Text "Bewerben 🩵" nicht mehr immer
in eine Zeile und das Emoji rutschte darunter. white-space:nowrap +
inline-flex ergänzt, damit Text und Emoji immer in einer Zeile bleiben.
Hero-Bereich (Überschrift, Lead-Text, Live-Status-Box, Buttons, die drei
Welten-Karten) sowie Header (Logo, Markenname, Bewerben-Button, Sprach-
schalter) auf Wunsch spürbar, aber nicht übertrieben vergrößert — wirkte
auf großen Bildschirmen zu klein.
Der neue .btn-tiktok-Stil (Cyan #25F4EE + Pink/Rot #FE2C55 Polarlicht,
bisher nur auf vanvan.html/dogfather.html) wird jetzt konsequent überall
angewendet, wo es einen echten TikTok-Link gibt:
- profil.html: TikTok-Social-Link (Diene/Miss/Ghost) nutzt .btn-tiktok
statt generischem .btn-outline, andere Plattformen unverändert.
- streamplan.html: "Zur Dogi TikTok-Seite"-Button jetzt .btn-tiktok.
- links.html: neue .card-tiktok-Variante wendet denselben Polarlicht-
Mechanismus auf die TikTok-Karte im Karten-Grid an (Kartenform bleibt
erhalten, damit das Grid nicht durcheinanderkommt), alle anderen
Plattform-Karten (Instagram/Snapchat/Discord/Shop/Bewerben) bleiben
im normalen Karten-Stil.
Bewusst NUR TikTok — keine andere Plattform bekommt diese Farben.
Auf vanvan.html und dogfather.html ersetzt ein neuer .btn-tiktok-Button
(gleicher Polarlicht-/Schimmer-Mechanismus wie der "Bewerben"-Button im
Header, aber mit TikTok-Markenfarben Cyan #25F4EE + Pink/Rot #FE2C55
statt der allgemeinen Regenbogen-Aurora) den bisherigen reinen Text-
Handle-Mention. Bewusst NUR für echte TikTok-Links verwendet — keine
anderen Buttons/Links bekommen diese Farben.
Gefunden bei systematischem Re-Check aller Seiten: der Platzhaltertext
für fehlgeschlagene Bilder auf index.html (Foto-Collage) und profil.html
war hart kodiert Deutsch. Jetzt über window.dogiUebersetzen() gelöst.
CREATORS ist aktuell noch leer, aber role/quote werden jetzt konsistent
mit team-scouts.html/team-modis.html über dogiFeld() aufgelöst, damit
künftige Creator-Profile automatisch mehrsprachig funktionieren, sobald
sie in data-creator.js ergänzt werden.
Bisher waren role/bio/bioHtml/intro/quote in data-scouts.js und
data-modis.js reine deutsche Strings — dadurch blieben z.B. Zitate
("Ein Mann, ein Wort.") und Kurzrollen auch bei gewählter Fremdsprache
Deutsch (siehe Screenshot-Hinweis: team-scouts.html in EN zeigte noch
deutsches Zitat).
- main.js: neuer window.dogiFeld()-Helper löst mehrsprachige Feld-Objekte
{ de, "de-CH", en, fr, pt } auf (rückwärtskompatibel zu reinen Strings).
- data-scouts.js: role (Patrick, Bananenstift) + bio (Patrick) + intro/
bioHtml/quote (Bananenstift) vollständig in allen 5 Sprachen.
- data-modis.js: role (alle 7) + bio (VanVan/Funny/Marina/Michi) +
bioHtml (Diene/Miss/Ghost) + rankLabel (Ghost) vollständig in allen
5 Sprachen. Lange bioHtml-Texte von unabhängigen Übersetzer-Agenten
erstellt, idiomatisch statt wörtlich.
- team-scouts.html, team-modis.html, index.html (Team-Vorschau),
profil.html: Rendering nutzt jetzt durchgängig dogiFeld() und rendert
bei Sprachwechsel (dogi-sprache-geaendert) neu — team-modis.html und
die Team-Vorschau auf index.html haben vorher GAR NICHT auf Sprach-
wechsel reagiert, das ist jetzt behoben. "Stufe"/"Profil ansehen" auf
team-modis.html liefen bisher hart kodiert Deutsch, jetzt über
i18n-team-modis.js.
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt,
en, fr, pt) für zeitreise.html und 404.html — damit sind jetzt alle
Seiten der Website vollständig mehrsprachig.
Die drei bisher hart kodierten deutschen Statustexte in forms.js
(Validierungsfehler, Erfolgsmeldung, Mailto-Fallback inkl. Button)
laufen jetzt über window.dogiUebersetzen() und wurden in allen 4
Bewerbungsformular-Wörterbüchern (creator/scout/modi/kooperation) für
alle 5 Sprachen ergänzt.
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt,
en, fr, pt) für 5 weitere der ~22 noch fehlenden Seiten. Dynamisch aus
data-modis.js/data-scouts.js gerenderte Personendaten bleiben bewusst
Deutsch, JS-Template-Strings (team-scouts.html) über
window.dogiUebersetzen() gelöst.
Vollständige Prüfung aller bereits übersetzten Seiten auf fehlende
data-i18n-Attribute (h1-h4, eyebrow, lead, Buttons): "Manager DogFather"
-Kartentitel auf index.html sowie die drei "Mehr entdecken"-Buttons auf
streamer.html hatten noch kein data-i18n und blieben bei Sprachwechsel
Deutsch. Jetzt ergänzt und in allen 5 Sprachen übersetzt.
Vollständige data-i18n-Abdeckung + Wörterbücher (de, de-CH echter Dialekt,
en, fr, pt) für 5 weitere der ~22 noch fehlenden Seiten. profil.html
übersetzt nur die statischen Rahmentexte (Personendaten aus
data-modis.js/data-scouts.js/data-creator.js bleiben bewusst Deutsch).
Bananenstifts Einstiegstext (Name/Alter/Familie + TikTok-Haltung) steht
jetzt direkt neben seinem großen Profilfoto, wie gewünscht. Neues
optionales person.intro-Feld in profil.html ergänzt (wirkt nur, wenn
gesetzt — Diene/Miss unverändert). Die identischen Absätze wurden aus
bioHtml entfernt, um Dopplung auf der Seite zu vermeiden.
Mehrere <h3>-Überschriften in Karten-Grids (Persönlichkeit, Werte,
Berufung, Nebenprojekte, Herzensprojekte auf dogfather.html; Familie,
Was HasiDog ausmacht, Inhalte, HasiDog-Welt auf hasidog.html) hatten nur
auf dem <p>-Text ein data-i18n-Attribut, nicht auf der Überschrift
selbst — dadurch blieb bei Sprachwechsel die Überschrift Deutsch,
während der Absatztext übersetzt wurde (gemischtsprachige Anzeige).
Jetzt alle 22 (dogfather) + 20 (hasidog) betroffenen Überschriften mit
eigenem data-i18n-Key versehen und in allen 5 Sprachen ergänzt.
Kleines Karten-/Avatar-Foto (Scout-Übersicht) durch neues Portraitfoto
ersetzt. Das große Bild neben dem Vorstellungstext auf profil.html
(photo-Feld) zeigt weiterhin das bisherige Foto (jetzt als
card-bananenstift.jpg ausgelagert), wie vom Nutzer gewünscht.
Eigener Text von Bananenstift (Scout, Linke Hand von DogFather) für sein
Profil auf profil.html?p=bananenstift, analog zum bioHtml-Format von
Diene und Miss.
Bisher hatten alle bereits übersetzten Unterseiten nur de/de-CH, en/fr/pt
fielen auf Deutsch zurück - das war der eigentliche Bug im Nutzer-
Feedback ("Sprache auf PT, Text bleibt Deutsch"). dogfather.html hat
jetzt alle 46 Textabschnitte in allen 5 Sprachen vollständig.
Sechste Unterseite mit eigenem i18n-Wörterbuch (69 Textabschnitte):
Hero, Was ist HasiDog, Eine eigene Welt, Die Welt von HasiDog (6 Karten),
Die HasiDog-Familie (4 Karten), Was HasiDog ausmacht (6 Karten), Die
HasiDog-Inhalte (8 Karten), Die HasiDog-Welt (5 Karten),
Willkommen-Abschluss, Schlaft-schön-Sektion.
Vierte Unterseite mit eigenem i18n-Wörterbuch (69 Textabschnitte):
Hero, Wer ich bin, Zufall oder Schicksal, Meine Stärken/Schwächen, Was
Dogi/Team Dogi für mich bedeutet, Fazit mit Signatur, Mehr entdecken.
Zwei weitere Unterseiten mit eigenem i18n-Wörterbuch (echter Dialekt,
nicht nur Hochdeutsch mit ss statt ß):
- casper.html: alle 20 Textabschnitte (Hero, Wer ist Casper, Caspers
eigene lange Vorstellung, Galerie).
- dogfather.html: alle 46 Textabschnitte (Hero, Wer ist Filipe, Der
Mensch hinter DogFather, Persönlichkeit/Werte/Berufung/Nebenprojekte/
Herzensprojekte-Karten).
Teil der laufenden Arbeit, jede Seite vollständig mehrsprachig zu
machen (Nutzerwunsch: "jedes einzelne Wort auf jeder Seite").
Rand des Sprachknopfs jetzt konsistent silbern (wie der Dropdown-Rand),
auch im Hover-/Offen-Zustand - nur Kugel und Hintergrund-Glühen bleiben
bunt je Sprache.
Aurora-Farbwolke im Knopf-Hintergrund deutlich gedämpft (Opazität
.85 -> .32, bei Hover/offen .48) - der Knopf wirkt jetzt wie eine
schwarze, glühende Pille mit farbigem Rand-Glow statt einer komplett
bunt eingefärbten Fläche. Nutzerwunsch nach Screenshot-Feedback.
Erste Unterseite (neben der Startseite) mit eigenem i18n-Wörterbuch:
alle 63 Textabschnitte (Hero, Persönlichkeit, Streamer, Casper, Team
Dogi, Manager, Was macht DogFather aus, Schluss-Statement) jetzt auch in
echtem Zürich-nahem Dialekt, nicht nur Navigation/Startseite. Adressiert
Nutzer-Feedback "nicht nur halb, sondern die richtige Sprache" - wenn
Schweiz ausgewählt ist, bleibt die Seite jetzt durchgehend im Dialekt,
auch nach dem Wechsel von der Startseite hierher.
Statt nur einem Farbton (glut) je Sprache gibt es jetzt 2-3 echte
Landesfarben (farbstopps) pro Sprache: DE schwarz-rot-gold, CH rot-weiß,
EN blau-weiß-rot, FR blau-weiß-rot, PT grün-gold-rot. Der Knopf-
Hintergrund ist jetzt eine wandernde Aurora-Wolke aus genau diesen
Farben (analog zum Bewerben-Knopf), die Kugel ein rotierender
conic-gradient aus denselben Farben mit Glanzlicht obendrauf - wirkt
wie eine kleine, echt gemischt eingefärbte Kugel statt einer flachen
Einzelfarbe.
Panel-Hintergrund jetzt sattes Schwarz statt sprachfarbig eingefärbt,
Rand silbern mit pulsierendem Glow (statt der Sprachfarbe) - hebt den
Kasten klar von der bunten Kugel/Schrift jeder Zeile ab. Hover/aktive
Zeile jetzt neutral silbrig-transparent statt bunt eingefärbt, farbiger
linker Rand pro Sprache bleibt als Erkennungsmerkmal erhalten.
Statt eines schlichten Nav-Menüpunkts jetzt ein eigenes "Schmuckstück":
- Gläserne Pille mit Polarlicht-Schein + durchlaufendem Lichtschimmer
(analog zum Bewerben-Knopf), Rahmen/Glow in der jeweiligen Sprachfarbe.
- Kugel ist jetzt eine glänzende "Mini-Planet"-Kugel (radialer Verlauf +
Glanzlicht, komplett aus --sprach-glut in CSS gebaut statt aus einem
JS-Gradient) mit sanfter Eigendrehung.
- Dropdown im selben Glow-Look, schwebt beim Öffnen sanft ein, jeder
Eintrag bekommt einen farbigen linken Rand + Hover-Verschiebung.
Alles respektiert weiterhin prefers-reduced-motion.
Auf ausdrücklichen Wunsch des Nutzers ("nicht Deutsch Schweiz, sondern
richtig Schweiz") — vorher war das nur Hochdeutsch mit ss statt ß, jetzt
echter (geschriebener) Dialekt in gängiger, Zürich-naher Schreibweise
(Dialekt hat keine einheitliche Schriftform). Betrifft I18N_CORE in
main.js (Navigation, Fußzeile, Musik-Widget) und das komplette
Startseiten-Wörterbuch in i18n-index.js. Label im Sprachschalter von
"Deutsch (Schweiz)" zu "Schwiizerdütsch" geändert. Markennamen und
rechtliche Begriffe (Impressum & Datenschutz) bleiben unverändert.
Kräftigere, gesättigtere Akzentfarbe pro Sprache (glut) statt der eher
stumpfen Original-Flaggentöne. Die Farbe liegt jetzt nicht mehr nur auf
der Kugel, sondern auch auf dem Sprachcode-Text (DE/EN/...) und den
Dropdown-Einträgen, inklusive leuchtendem text-shadow. Sanft
pulsierender Glow-Effekt (Helligkeit/Sättigung, alle 3,2s) sorgt für den
gewünschten "Polarlicht"-Charakter, respektiert aber
prefers-reduced-motion.
Kleine Kugel im Sprachschalter nimmt jetzt die Landesfarben der aktuell
gewählten Sprache als Verlauf an (DE: schwarz-rot-gold, CH: rot/weiß,
EN: blau-weiß-rot, FR: blau-weiß-rot, PT: grün-rot) - mit Glanzlicht/
Schatten für einen echten Kugel-Look. Selbe Kugel auch vor jedem Eintrag
im Dropdown, damit die Sprachen auf einen Blick unterscheidbar sind.
Nur diesen einen Button entfernt (Nutzerwunsch), "Modi-Team ansehen"
bleibt. Ungenutzten Übersetzungsschlüssel idx_team_btn_scouts aus
i18n-index.js mit entfernt.
streamer.html: eigenes Foto (streamer-highlight.jpg) und Maskottchen-Foto
(streamer-mascot.jpg) tauschen die Plätze - Nutzerwunsch. Eigenes Foto
jetzt bei "Was macht DogFather aus?", Maskottchen jetzt bei Casper.
index.html: Team-Vorschau-Satz von "Von VanVan bis zu den Scouts" zu
"Von VanVan & die Modis" geändert (DE + EN/FR/PT-Übersetzungen in
i18n-index.js entsprechend angepasst).
Windows rendert Flaggen-Emojis nicht als Bild, sondern zeigt den nackten
Regions-Code an (z.B. "DE") — zusammen mit dem eigenen Kürzel ergab das
eine unschöne Dopplung ("DE DE") bzw. bei Englisch sogar einen falschen
Ländercode (🇬🇧 = GB, nicht EN). Jetzt: einzelnes 🌐-Symbol im Knopf,
volle Sprachnamen im Dropdown (Deutsch, Deutsch (Schweiz), English,
Français, Português) - eindeutig auf jedem Betriebssystem.
skripteUebernehmen() übersprang bereits geladene <script src>-Dateien,
um doppelte Deklarationen zu vermeiden. Für main.js/data-*.js richtig,
aber i18n-*.js setzt bei jedem Seitenbesuch NUR window.I18N_PAGE neu -
wurde die Datei beim ersten Besuch schon geladen (z.B. Startseite),
blieb sie beim Zurücknavigieren fälschlich leer (main.js hatte sie
zwischenzeitlich auf null zurückgesetzt). i18n-*.js-Dateien laufen jetzt
bei jedem Seitenbesuch garantiert erneut.
Neues i18n-System, komplett clientseitig (kein Build-Tool):
- main.js: I18N_CORE übersetzt Navigation, Fußzeile und Musik-Widget auf
JEDER Seite (Markennamen wie DogFather/HasiDog/Casper/Team Dogi bleiben
bewusst in jeder Sprache gleich). Sprachumschalter (Flagge + Kürzel) neu
im Nav-Bar, per Klick wählbar, Wahl landet in localStorage und bleibt
beim Klicken durch die Seite erhalten.
- Jeder komplett neue Besuch (kein gespeicherter Wert) startet IMMER auf
Deutsch - keine automatische Browsersprache-Erkennung, wie gewünscht.
- assets/js/i18n-index.js: vollständiges Wörterbuch für die Startseite
(Hero, Charaktere, Foto-Collage, Stats, "Was dich erwartet",
Team-Vorschau, Aktionen, Galerie, Testimonial, finaler CTA) inkl. der
dynamischen Live-Status-Texte.
- Schweizer Hochdeutsch (de-CH) korrekt mit ss statt ß angelegt (z.B.
"Musik-Feld schliessen").
- Weitere Unterseiten (streamer.html, vanvan.html, ...) bekommen ihr
eigenes Wörterbuch schrittweise in künftigen Runden - Navigation/
Fußzeile/Musik-Widget sind aber schon jetzt überall mehrsprachig.
Neue separate Bilddatei card-vanvan-team.jpg angelegt, damit vanvan.html
und data-modis.js (Profilseite) unverändert beim bisherigen Foto bleiben -
wie vom Nutzer ausdrücklich gewünscht ("nur auf dieser Seite").
"Was Dogi für mich bedeutet" (Bild links) und "Was Team Dogi für mich
bedeutet" (Bild rechts) jetzt als grid-2/frame-lila-Layout, exakt im
selben Stil wie die Casper- und Maskottchen-Sektionen auf streamer.html.
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 steht der komplette "Wer ich bin"-Abschnitt jetzt direkt
neben VanVans Foto im oberen grid-2-Bereich statt als eigene Sektion
weiter unten - keine Dopplung, alter Standalone-Abschnitt entfernt.
Kompletter Seiteninhalt durch VanVans eigenen Text ersetzt: wie sie zu
Team Dogi kam ("Zufall oder Schicksal?"), wer sie ist, ihre Stärken und
Schwächen, was Dogi und Team Dogi ihr bedeuten, persönliches Fazit mit
Signatur. TikTok-Handle @o.o.vanessa.o.o ergänzt (im Originaltext stand
dort nur ein nicht auflösbarer Discord-Mention-Code, mit dem Nutzer
abgeklärt und durch den echten Handle ersetzt). Foto- und Spotify-Link
aus der bisherigen Seite als funktionale Elemente beibehalten.
Neues Foto vom Nutzer bereitgestellt, quadratisch zugeschnitten (Fokus
Gesicht oben) und in beiden benötigten Größen (1200x1200 Karte,
400x400 Avatar) gespeichert.
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.
Bisher stand das Charakterbild ganz oben als eigene zentrierte Karte.
Auf Nutzerwunsch jetzt weiter unten in der "Eine eigene Welt"-Sektion
platziert, im selben grid-2/frame-lila-Stil wie das DogFather-Maskottchen
auf streamer.html: Text links, Bild rechts.
Das Originalbild hatte links/rechts einen dünnen dunklen Rand samt
1px-Markierungslinie vom Screenshot - dadurch entstand im lila Rahmen ein
sichtbarer Abstand zwischen Rahmen und Hund. Jetzt exakt bis an den
Bildinhalt zugeschnitten, füllt den Rahmen randlos.
Diese Fakten (34 Jahre, Portugiese, seit Februar 2026 in Luxemburg,
bisheriger Lebensweg) standen bereits in Filipes persönlichem
Vorstellungstext auf streamer.html, fehlten aber noch im kurzen
Steckbrief auf dogfather.html. Veralteten Privatsphäre-Kommentar
entsprechend aktualisiert, da der Nutzer diese Fakten selbst öffentlich
gemacht hat.
Neue Details eingearbeitet, die im bisherigen Text noch fehlten (chaotische/
verpeilte Seite, dass die Stream-Persönlichkeit keine gespielte Rolle ist,
das Vergessen von Terminen/Namen bei gleichzeitigem Nie-Vergessen der
Menschen in schwierigen Zeiten, sowie klare Grenzen bei Unehrlichkeit/
Respektlosigkeit). Bereits vorhandene Aussagen (Werte, Zuverlässigkeit,
Humor, Charakter vor Besitz) unverändert gelassen, keine Dopplungen.
Nutzer hat das exakte Originalbild bereitgestellt statt der KI-Nachbildung
(Screenshot 2026-08-01 190134.png) - für 100% korrekte Wiedergabe verwendet.
Neu generiertes Bild (lokal, Z-Image-Turbo) im Stil des vom Nutzer gezeigten
Referenzbilds: niedlicher 3D-Husky-Welpe mit blauem Hoodie und korrekt
geschriebenem "DogFather"-Schriftzug. Layout wie die bestehende Casper-
Sektion (grid-2, collage-photo/frame-lila), aber gespiegelt: Text links,
Bild rechts, wie vom Nutzer gewünscht.
- 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).
"Die Person hinter Dogfather" -> "Die Person, die Dogfather erschuf!"
(Komma vor Relativsatz ergänzt), Lead-Text "Dogi, Hasidog - der Mensch
hinter der Kamera." -> "Filipe – der Mensch hinter der Kamera."
Titel/Meta-Tags entsprechend mitgezogen (ohne Ausrufezeichen, SEO-üblich).
- 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.
flex-direction fehlte, dadurch liefen Titel und "folgt in Kürze"-Text in
einer Reihe statt untereinander - fiel bisher kaum auf, wurde aber durch
die neuen Video-Platzhalter auf den 3 Medien-Welten-Seiten sichtbar.
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
Alte schlichte 3-Karten-Version komplett durch Dogis ausführliche neue
Version ersetzt:
- Intro-Textblock "HasiDog - Eine eigene Welt voller Chaos, Herz und
Fantasie"
- "Die Welt von HasiDog" (6 Karten: Figur/Humor/Charakter/Fantasie/
Überraschung/Herz)
- "Die HasiDog-Familie" (4 Karten mit mehr Text: Musik/Casper/Buch/
Community) - ersetzt die alte gleichnamige Sektion
- "Was HasiDog ausmacht" (6 Karten)
- "Die HasiDog-Inhalte" (8 Karten)
- "Die HasiDog-Welt" (5 Karten)
- Abschluss-Statement "Willkommen in der Welt von HasiDog" mit Signatur
und Buttons (Musik/Casper/Videos/Galerie/Familie)
Bewusst NICHT übernommen: der Meta-Abschnitt "Weitere Bereiche für die
HasiDog-Seite" und die reine Button-Vorschlagsliste - stattdessen direkt
in die finale Buttonzeile eingearbeitet. Die bestehende "Schlaft schön"-
Sektion am Seitenende bleibt unverändert erhalten.
Alte 3-Karten-Version von "Content-Säulen" komplett durch Dogis neue,
ausführliche 15-Karten-Version ersetzt (Kern/Frech/Chaos/Live/Familie/
Herz/Husky/Action/Event/Story/Community/Reaktion/Highlight/Backstage/
Persönlich). Zusätzlich neue Abschnitte darunter:
- "Was DogFather ausmacht" (6 Karten: Authentisch/Humorvoll/Loyal/Direkt/
Herzlich/Communitynah)
- "Die Streamformate" (6 Karten: normaler Live/Party-Live/Real-Talk-Live/
Challenge-Live/Spezialstream/Community-Live)
- "Team Dogi ist Familie" (Fließtext-Abschnitt)
- "Casper & HasiDog" (2 Karten)
- Abschluss-Statement "Nicht nur zuschauen. Teil davon werden." mit
Signatur, ersetzt die bisherige schlichte "Mehr sehen"-Sektion und
bündelt jetzt alle relevanten Buttons (Streamplan, Videos, Fotos,
Team Dogi, Instagram, Snapchat) an einer Stelle
Bewusst NICHT übernommen: der Meta-Abschnitt "Weitere Bereiche der
Streamer-Seite" und die reine Button-Vorschlagsliste aus Dogis Text -
das beschreibt nur bereits vorhandene Seiten/Buttons, wurde stattdessen
in die erweiterte Buttonzeile am Ende eingearbeitet statt als
redundanter Fließtext dupliziert.
Seite hatte bisher kein Hintergrundmotiv - jetzt nach etabliertem Muster
ergänzt (body.mit-hintergrund + hero-banner-<img>, wie auf den anderen
Seiten).
Beide Codes sauber auf die Karte/den QR-Bereich zugeschnitten (keine
Emoji-Tapete bzw. App-Screenshot-Reste drumherum mehr), verkleinert auf
400px Kantenlänge für vernünftige Dateigröße (151 KB / 86 KB statt 611 KB
/ 275 KB Original). Ersetzen 2 der 3 "folgt in Kürze"-Platzhalter in der
QR-Codes-Sektion.
Seite hatte bisher gar kein Hintergrundmotiv (nur body ohne Klasse) -
jetzt nach dem etablierten Muster ergänzt: body.mit-hintergrund mit
--page-bg/--page-bg-mobile + echter hero-banner-<img> oben (garantiert
volle Breite und komplett sichtbar, wie auf allen anderen Seiten).
Bisher war der Rahmen ein statischer, matter Ring + ein starrer Farb-
Überzug - jetzt "atmet" der Glanz (box-shadow pulsiert langsam zwischen
schmal/dezent und breit/hell, siehe @keyframes collage-aurora-glow) und
ein zusätzlicher, langsam wandernder Lichtschimmer läuft über jedes Foto
(reuse von @keyframes btn-shimmer). Läuft über die --frame-Variable, wirkt
also automatisch in jeder Rahmenfarbe (frame-silver/lila/gold/rot/
tuerkis), nicht nur silber. Pausiert bei Hover (dann übernimmt der
stärkere Hover-Glow) und wird bei prefers-reduced-motion abgeschaltet.
- "Warum schauen Menschen zu?" (mit Foto) steht jetzt VOR "Der Mensch
hinter DogFather" statt danach - Wunsch von Dogi
- Foto war ein Hochkant-Bild (864x1536), wurde aber in eine Querformat-Box
(aspect-ratio:16/10) gezwungen und dadurch stark beschnitten. Jetzt
aspect-ratio:auto + width:100%;height:auto -> komplettes Bild sichtbar,
Box passt sich der echten Bildform an.
.hero-cinematic wirkte auf großen PC-Screens zu klein (Artwork, Überschrift,
Text, Live-Status-Kästchen, Buttons). Padding erhöht (mehr Raum fürs
contain-Artwork), h1/.lead/eyebrow/Buttons/Kästchen-Text in diesem
Abschnitt gezielt etwas größer - mobile Untergrenze der clamp()s bleibt
unverändert, damit es auf kleinen Screens nicht zu groß wird.
Top-Level-Nav (Start/Dogfather/HasiDog/...) von 1.05rem auf 1.14rem,
Dropdown-Einträge darunter von 1rem auf 1.06rem - Wunsch von Dogi nach
dem letzten Anpassungsschritt.
Die Top-Level-Nav-Einträge (Start/Dogfather/HasiDog/Manager/Medien/Links)
hatten nie eine explizite Schriftgröße (liefen auf Browser-Standard) -
jetzt fest auf 1.05rem gesetzt (etwas größer als vorher), Dropdown-Einträge
von .92rem auf 1rem angehoben.
- dogfather.html: neues, extra dafür erstelltes Hero-Bild als eigene Datei
(bg-dogfather-person.jpg) - bewusst NICHT die geteilte bg-dogfather.jpg
überschrieben, die noch auf 3 weiteren Seiten (bewerben-modi, profil,
team-modis) mitverwendet wird
- creator.html: "Content Creator, die bei Spicy Media / Team Dogi
mitmachen" -> "...die bei Dogfather / Spicy Media mitmachen" (Meta-Tags
entsprechend mitkorrigiert)
- Pyramiden-Karten (team-modis.html) sind jetzt pro Ebene gleich hoch,
unabhängig von Textlänge (z.B. Diene/Funny): .pyramid-tier auf
align-items:stretch, .profile-card darin als Flex-Spalte mit dem
"Profil ansehen"-Button per margin-top:auto immer ganz unten
Ticketanizers Inbound-Ticket-API erzeugt bei API-Tickets nachweislich
keinen echten Discord-Kanal (nur Web-Inbox + Rollen-Ping im Log-Kanal,
auch nach manuellem Uebernehmen nicht) - das wurde heute gemeinsam mit
Dogi live in der Ticketanizer-Inbox und in Discord verifiziert. Deshalb
zusaetzlich ein normaler Discord-Webhook pro Zielkanal, der die komplette
Bewerbung garantiert sichtbar direkt postet.
Kanal-Zuordnung (von Dogi aus Discord kopiert):
modi -> #modi-bewerbung (DISCORD_WEBHOOK_MODI)
kooperation -> #kooperations-bewerbung (DISCORD_WEBHOOK_KOOPERATION)
scout + creator -> #scout-bewerbung gemeinsam (DISCORD_WEBHOOK_SCOUT_MANAGER)
- Neu: cloudflare-worker/src/lib/discord-webhooks.js
- applications.js: postet jetzt parallel zu Ticketanizer (Promise.all,
weiterhin ueber ctx.waitUntil im Hintergrund, blockiert nie die Antwort)
- Alle 3 Secrets bereits live gesetzt und deployed
- Getestet mit allen 4 Bewerbungstypen (modi/kooperation/scout/creator) -
laut Log alle erfolgreich gepostet, Testdaten aus D1 wieder entfernt
- README.md: Einschraenkung von Ticketanizer dokumentiert + neue
Webhook-Einrichtungsanleitung
- 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)