Der margin-top:12px, den ich für den Verbindungs-Pfeil ergänzt hatte,
erzeugte eine echte Lücke zwischen Knopf und Menü. Bewegte man die Maus
gerade runter, um einen Menüpunkt auszuwählen, verließ der Zeiger kurz
.nav-group (die Lücke gehört layoutmäßig zu keinem der beiden), das
Hover-abhängige Menü klappte sofort zu — Klicken wurde unmöglich. Fix:
Box sitzt wieder bündig an top:100% (keine Lücke), der Pfeil pokt jetzt
direkt in die Knopf-Kante statt in einen Leerraum.
Vorher: flacher zweifarbiger Kreis (hart 48/52 geteilt Blau/Rot) mit
Blitz-Emoji. Jetzt: dunkle Kern-Mitte mit separat rotierendem Farbring
dahinter (::before, conic-gradient Blau→Lila→Rot) — der Ring dreht sich,
der Blitz bleibt aufrecht stehen statt mitzudrehen. Größer (60px statt
42px), stärkerer Textschatten am Blitz, kräftigerer Puls-Glow. Zwei
kollidierende alte CSS-Regeln für denselben Selektor zu einer sauberen
zusammengeführt.
Root Cause: die geteilte @keyframes sprach-dropdown-in setzt "transform"
als GANZES pro Frame (nur translateY+scale) — das überschrieb nach jedem
Öffnen komplett das zentrierende translateX(-50%) der Basis-Regel, die
Box sprang dadurch sichtbar ~halbe Boxbreite nach rechts. Fix: eigene
@keyframes nav-dropdown-in NUR für .nav-dropdown, die translateX(-50%)
in jedem Frame mitführt. Der rechtsbündige Sprachschalter (kein
translateX nötig) behält bewusst die alte, geteilte Animation. Im
mobilen Hamburger-Menü (<1480px, volle Breite) wird die Animation ganz
deaktiviert, damit translateX(-50%) dort nicht die Vollbreiten-Box
verschiebt.
Neue Klasse .card-duel: rotierender Farbring exakt am Kartenrand,
driftender Aurora-Glow im Hintergrund, leuchtende Icon-Badges statt
schlichter Rahmen-Tags, dramatischer Hover-Lift mit Farbexplosion.
Trennwand + Blitz-Emblem in der Mitte zum pulsierenden "Energiekern"
mit Doppelring und fließendem Lichtstrom aufgewertet. Seitenlabels
bekommen einen leuchtenden Unterstrich. Alle Effekte nutzen bewusst
dieselben --accent/--accent-2-Variablen, die pro Karte schon gesetzt
waren (Community weiterhin babyblau/lila, Agentur weiterhin rot/orange
vom Spicy-Media-Theme) — Farbwelt bleibt exakt erhalten, nur die Machart
ist komplett neu.
Die Zentrierung war rechnerisch schon exakt (Dropdown-Mitte = Button-
Mitte), aber weil die Box (5 Menüpunkte) breiter ist als ein einzelner
Kategorie-Knopf, ragt sie optisch in Nachbar-Kategorien hinein und wirkt
dadurch "nicht zugeordnet". Jetzt zeigt ein kleiner Pfeil mittig unter
dem Knopf eindeutig auf die zugehörige Kategorie (Standard-Dropdown-UX-
Pattern). Im mobilen Hamburger-Menü (<1480px, dort volle Breite/statisch
positioniert) wird der Pfeil ausgeblendet, da dort nicht sinnvoll.
Auf Wunsch ("richtig geiles, mega schönes, das Beste vom Besten") spürbar
verstärkt: größere Maße (Padding/Schrift), Versalien-Schrift, dickerer
heller Rand, zusätzlicher dunkler+heller Doppelring per box-shadow (wie
ein Rarity-Rahmen), permanent pulsierender Farbglow (nicht mehr nur bei
Hover), schnellerer/kräftigerer Glare-Sweep, größere und auffälligere
Sparkles, deutlicherer Hover-Pop (Scale + Farbglow-Ausbruch).
Zweite Variante auf demselben Qualitätsniveau wie .btn-legendary, aber
mechanisch komplett anders (auf Wunsch von Dogi: "verschiedene, aber auf
dem Niveau"). Statt dunklem Hintergrund + hellem Rand/Chrome-Text ist hier
die GESAMTE Pille eine wandernde Holo-Foil-Fläche im Marken-Farbverlauf
(Babyblau → Lila → Pink → Gold), mit diagonalem Glare-Sweep wie echtes
Folienlicht, feinem Foliekorn (SVG-Turbulence) und dunkler geprägter
Schrift obendrauf. Noch nirgends im Einsatz — fertig zur Verwendung mit
.btn-holo/.btn-holo-text/.btn-holo-spark, Beispiel-Markup im CSS-Kommentar.
Vorher "Zur Casper-Seite" + "Zur Community" (2 Buttons) in der "Wer ist
HasiDog?"-Sektion. Jetzt nur noch EIN Button "Erschaffer", der zur
Streamer-Seite (streamer.html) führt — im "mega" .btn-legendary-Stil
(Babyblau/Silber, Chrome-Textglanz, Sparkles, Halo-Glow), gleiche Optik
wie der neue Casperlino-Button. Alte i18n-Keys hd_btn_casper/
hd_btn_community entfernt (waren nur hier verwendet), neuer Key
hd_btn_erschaffer in allen 5 Sprachen ergänzt.
Neue CSS-Klasse .btn-legendary: eigener, besonders edler Button-Stil in
Babyblau + Silber (Chrome-Textglanz, rotierender Rand, Sparkles,
pulsierender Halo-Glow) — gleiche Machart wie .btn-silver, aber in der
Marken-Akzentfarbe und größer/kräftiger für einen "legendären" Auftritt.
Neuer i18n-Key str_casperlino_btn (Name bleibt in allen 5 Sprachen gleich).
Betraf df_wer_1 (dogfather.html) und str_intro1 (streamer.html): stand
vorher fälschlich "gebürtiger Portugiese, lebt seit Februar 2026 in
Luxemburg" — korrekt ist: in Luxemburg geboren und aufgewachsen, mit
portugiesischen Wurzeln und Temperament. Alle 5 Sprachen korrigiert
(de, de-CH, en, fr, pt), inkl. der statischen HTML-Fallback-Texte.
Recherche (developer.chrome.com, Lighthouse-Doku, Stand 2026): Chrome/Edge
zeigen "App installieren" bei gültigem Web App Manifest (name, icons inkl.
512x512, start_url, display:standalone) UND einem registrierten Service
Worker mit fetch()-Handler — reines Manifest reicht für den zuverlässigen
Install-Prompt nicht mehr aus.
- Neues manifest.json (Name, Theme-/Hintergrundfarbe passend zum dunklen
Design, Icons 192x192 + 512x512 aus dem bestehenden Husky-Favicon erzeugt)
- Neuer sw.js: minimaler Service Worker, primär für die Installierbarkeit,
cached nebenbei die wichtigsten Shell-Dateien (Network-first mit
Cache-Fallback, kein Offline-Vollausbau)
- main.js: registriert den Service Worker nur bei http(s) (nie bei
file://, damit die Seite laut Projektregel weiterhin per Doppelklick
ohne Server funktioniert — stiller Fallback statt Konsolenfehler)
- Alle 28 HTML-Seiten: <link rel="manifest"> + <meta name="theme-color">
im <head> ergänzt (identischer Ankerpunkt nach dem Favicon-Link geprüft
und automatisiert eingefügt)
Installation für Dogi: Seite in Chrome/Edge öffnen → Symbol rechts in der
Adressleiste ("App installieren") oder Menü ⋮ → "DogFather Universe
installieren" → landet als eigenes Fenster + Icon auf Desktop/Startmenü.
- manager.html: Button war dort redundant (Seite selbst ist die Manager-
Seite) — komplett entfernt, unbenutzten i18n-Key mgr_scoutmanager_btn
in i18n-manager.js mit aufgeräumt.
- streamer.html: Button bleibt, aber auf Wunsch NUR dort größer (Padding/
Schriftgröße per Inline-Style, da .btn-spicy-mini eine geteilte Klasse
ist und andere zukünftige Verwendungen nicht beeinflusst werden sollen).
Gleiche Stelle, gleiche Optik (.btn-spicy-mini, Link zu team-scouts.html)
wie auf manager.html. Neuer i18n-Key str_scoutmanager_btn in allen 5
Sprachen ergänzt (eigenes Wörterbuch, da streamer.html i18n-streamer.js
statt i18n-manager.js nutzt).
- profil.html: h1-Platzhalter "Profil" flackerte vor JS-Ladevorgang ungeuebersetzt
auf (Portugiesisch waere "Perfil" gewesen) -> neuer Key pr_loading in
i18n-profil.js mit allen 5 Sprachen, data-i18n-Attribut ergänzt.
- Manager-Seite: bereits vorbereiteten, vollständig übersetzten "Scout-Manager"-
Button (Link zu team-scouts.html) und die dazugehörige Marina-Kartenänderung
in data-modis.js commitet -- lagen unverändert und konsistent im Arbeitsverzeichnis,
aber nie eingecheckt.
- _check.jpg entfernt: unreferenzierter Screenshot-Rest aus einer alten
Verifikations-Session, wurde bisher unnötig mitdeployed (Regel: keine
Debug-/Test-Dateien im Website-Root).
- team-modis.html: Kartenraster generiert jetzt optional einen zweiten
Button pro Person (m.extraCta in data-modis.js), aktuell nur bei Marina
gesetzt (führt zu manager.html). Card-Markup dafür von <a> auf <div> mit
innerem display:contents-Link umgestellt, damit kein Link im Link
verschachtelt wird (ungültiges HTML). Alle anderen Karten unverändert.
- Neue CSS-Klasse .btn-spicy-mini: kompakter Polarlicht-Button in den
Spicy-Media-Markenfarben (Rot/Orange), gleicher Mechanismus wie
.btn-tiktok/.btn-silver.
- assets/img/avatar-marina.jpg (das KLEINE Foto, z.B. Pyramide-Karte)
durch neues Foto ersetzt und quadratisch zugeschnitten. Das große Foto
(card-marina.jpg) bleibt unverändert, wie gewünscht.
Ersetzt den bisher sehr kurzen bio-Text auf ihrer Profilseite durch die
vollständige Selbstvorstellung (Name, Rolle im Team, Hobbys, Stärken,
persönliche Note, Foto-Hinweis, Signatur), gleiches Muster wie bei
Bananenstift (bioHtml, breiter Lesebereich auf profil.html). Alle 5
Sprachen (de, de-CH als echter Dialekt, en, fr, pt) vollständig übersetzt.
Auf Wunsch (02.08.2026): derselbe Block (Logo rechts, Text links, rote
Rahmenoptik) wie auf manager.html jetzt auch auf streamer.html — zwischen
der Signatur "– euer DogFather" und der "Mehr entdecken"-Sektion, in
gleicher Größe/Optik. Eigene i18n-Keys (str_spicy_h2/p1/p2) ergänzt, da
streamer.html ein eigenes Wörterbuch (i18n-streamer.js) nutzt.
Auf Wunsch (02.08.2026): sollte aussehen wie die Sektion "Das bin ich als
Manager" weiter oben (Foto/Logo groß links, Text rechts als eigene grid-2-
Sektion) statt als kleines Float-Bild im Fließtext eingeschmolzen zu sein.
Signatur ("Euer Dogi") bleibt am Ende des Bio-Textes, direkt danach folgt
die neue eigenständige Spicy-Media-Sektion.
Vorher schlichtes freischwebendes Bild ohne Rahmen. Jetzt dieselbe
.collage-photo-Optik (roter Rahmen/Glow, passend zur Marke) wie bei den
anderen Fotos der Seite (z.B. DogFather-Portrait), Größe von 180px auf
260px erhöht, läuft weiterhin nur rechts im Fließtext mit.
Vorher eigene 2-Spalten-Sektion (Logo links, Text rechts) ganz unten auf
der Seite, losgelöst vom übrigen Bio-Text. Jetzt Teil des durchgehenden
Manager-Fließtexts direkt darüber: Logo als rechtsbündiges Float-Bild,
Text (Überschrift + 2 Absätze) läuft natürlich drumherum, danach clear:both
vor der Signatur. Eigenständige Sektion entfernt, i18n-Keys unverändert
wiederverwendet.
"Das Team dahinter" ersetzt durch "Willst du dazugehören?" mit neuem Lead-
Satz "Als Creator, Scout oder Manager — bewirb dich direkt." darunter,
passt besser zur Bewerbungs-Ausrichtung der Kiste (Scouts/Creator/Bewerbung).
Neuer i18n-Key mgr_team_lead in allen 5 Sprachen ergänzt.
Vorher waren Bewerbungs-Touchpoints auf der Seite verstreut: Scouts/Creator-
Kartenraster (2 Kisten) UND direkt darunter eine separate "Willst du
dazugehören?"-CTA-Sektion mit eigenem Button — wirkte redundant/zu viel.
Jetzt eine einzige, klare 3er-Kiste (grid-3): Scouts, Creator, Bewerbung.
Die separate CTA-Sektion entfällt dadurch komplett. Alte i18n-Keys
(mgr_cta_h2/mgr_cta_lead/mgr_cta_btn) entfernt, neue (mgr_bewerbung_h3/
mgr_bewerbung_p) in allen 5 Sprachen ergänzt.
Tagescheck-Fund: overflow-x:hidden war nur auf <body> gesetzt, das
tatsächliche Scroll-Element im Standards-Modus ist aber <html>. Dadurch
ließ sich die Seite auf Handy-Breiten (320-414px, z.B. iPhone SE/12/13/14)
ca. 50px horizontal wegwischen und zeigte Leerraum hinter den absichtlich
überbreiten Deko-Elementen (Nebel-Partikel, Aurora-Hintergrund auf der
Startseite). Betraf vermutlich schon länger alle Seiten, nicht nur die
heutigen Änderungen. Fix: overflow-x:hidden zusätzlich auf <html>.
Der animierte Polarlicht-Rahmen (.collage-photo) war schon "mega", aber der
Bildinhalt selbst wirkte bei einfachen Portraitfotos flach im Vergleich zu
aufwendig gestalteten Postern wie dem DogFather-Manager-Artwork. Jetzt
bekommt JEDES Foto in .collage-photo (betrifft automatisch alle Seiten:
DogFather, HasiDog, Casper, VanVan, Team-Profile via profil.html, Startseiten-
Collage, Streamer-Seite etc.) zusätzlich:
- zwei Farbschein-Blooms in der jeweiligen Rahmenfarbe (--frame), oben-links
und unten-rechts, wie ein Studio-Rimlight
- eine sanfte Vignette unten für Tiefe/Fokus aufs Gesicht
- feines Filmkorn (SVG-Turbulence) für einen "produzierten" Look
- kräftigere Sättigung/Kontrast auf dem Foto selbst
- Basis-Regeln für p/.lead/.quote/h2/h3 in main.css angehoben (vorher
Standard-Browsergröße bzw. kleine clamp-Werte), betrifft jetzt alle
Seiten automatisch statt nur einzelne Seiten mit Extra-<style>-Block
- vanvan.html: lokalen, jetzt redundanten <style>-Override entfernt
(Werte sind identisch mit den neuen globalen main.css-Regeln)
- Kleingedrucktes (Footer, Badges, Formular-Fehlermeldungen etc.) bleibt
unverändert, da diese über spezifischere eigene font-size-Regeln verfügen
- Hauptfoto oben ("Wer ich bin") zeigt jetzt das echte VanVan-Foto
(vorher: illustrierte Team-Dogi-Grafik), diese wandert dafür in den
"Was Team Dogi für mich bedeutet"-Bereich
- .btn-silver ("Coming soon") komplett neu gestaltet: Chrome-Metallic-
Textverlauf, rotierender Metallrand-Schimmer, funkelnde Sparkle-Akzente,
pulsierender Halo-Glow statt reiner Farbkopie von .btn-tiktok
- .btn-tiktok und .btn-silver vergrößert (Padding/Schrift), wirkt sich
automatisch auf alle TikTok-Buttons site-weit aus
- Foto in der "Wer ich bin"-Sektion vergrößert (Grid-Spalten von 1:1 auf
1.25:1 zugunsten des Fotos).
- Fließtext/Lead/Zitate/Überschriften auf der ganzen Seite spürbar
größer (eigener <style>-Block, nur für diese Seite).
- Neuer .btn-silver-Button-Stil (gleicher Polarlicht-Mechanismus wie
.btn-tiktok, nur in Silber) direkt unter dem TikTok-Button, Text
"Coming soon…" für VanVans zweiten, noch nicht gestarteten Kanal.
Auf echten Maus-Geräten (hover:hover + pointer:fine) klappt das
Untermenü schon beim Drüberfahren auf. Klick-Verhalten bleibt für
Touch/Tablet UND für Tastatur-/Klick-Nutzer weiterhin bestehen — beide
Wege funktionieren parallel.
Der Polarlicht-Schein war bisher permanent sichtbar (22% Deckkraft),
dadurch wirkten alle Kategorien wie ausgefüllte Pillen-Buttons statt wie
normale Nav-Links. Jetzt 0% im Ruhezustand (reiner Textlink-Look) und
nur bei Hover/offenem Dropdown ein dezenter Farbschein als Hinweis.
Die aufgeklappten Einträge (z.B. "Die Person", "Streamer", "Casper" im
DogFather-Menü) hatten Pillen-Hintergrund + linken Farbbalken bei Hover
— sah zu sehr nach eigenen Buttons aus. Jetzt schlichte Textzeilen, nur
Farbwechsel bei Hover. Die Kategorie-Knöpfe selbst (DogFather/HasiDog/
Manager/...) bleiben unverändert Pillen. Sprachschalter-Dropdown
(eigene, spezifischere Regeln) ebenfalls unverändert.
Auf Wunsch: Michi gehört nicht mehr dazu. Entfernt:
- Kompletter Personeneintrag aus data-modis.js (team-modis.html +
profil.html?p=michi zeigen sie dadurch automatisch nicht mehr an).
- Erwähnung in der Team-Hierarchie-Doku, im "von VanVan bis Michi"-
Lead-Text (jetzt "...bis Marina", alle 5 Sprachen) und in Meta-
Beschreibungen/OG-Tags/Twitter-Tags auf team-modis.html.
- Ungenutzte Bilddateien avatar-michi.jpg + card-michi.jpg gelöscht.
Ursache: <li> hatte keine eigene Textfarbe und erbte die helle
Standardfarbe, während <p> bewusst gedimmtes --text-muted nutzt — der
Kontrast wirkte wie Fettschrift, obwohl es nur ein Farbunterschied war
(betraf z.B. Bananenstifts "Dabei helfe ich unter anderem bei:"-Liste).
Jetzt gleiche Farbe wie Fließtext, plus echte Aufzählungspunkte (Accent-
Farbe) und sauberer Absatz-Abstand.
Nutzer-Feedback: der Name fehlte im engeren Zuschnitt komplett. Jetzt
Husky-Kopf UND "DOGFATHER"-Schriftzug zusammen, weiterhin eng auf die
riesigen weißen Ränder des Originals zugeschnitten (nicht die volle
1024x1024-Leinwand wie ganz am Anfang), damit beides in der kleinen
Header-Badge sichtbar bleibt.
Das Original hatte riesige weiße Ränder rundherum und den "DOGFATHER"-
Schriftzug drunter — bei der kleinen Header-Badge-Größe (42x42px) blieb
vom Husky kaum mehr als ein winziger Fleck übrig. Jetzt eng auf den
Kopf zugeschnitten (Schriftzug entfernt, war bei der Größe eh nicht
lesbar) und auf ein quadratisches Format gepolstert, damit object-fit:
cover die Ohren nicht anschneidet.
Gleicher gläserner Dropdown-Stil wie beim Sprachschalter, aber im
Farbton der jeweiligen Kategorie statt neutral: dunkle Karte mit
farbigem Schein (--brand-1/--brand-2, jetzt am .nav-group statt am
Button gesetzt, damit Button-Aurora UND Dropdown denselben Farbklang
teilen), Einträge mit farbigem linkem Rand + leichtem Rutsch-Effekt bei
Hover statt der vorherigen einfachen grauen Hervorhebung.
Seit die Kategorien eigene farbige Polarlicht-Pillen haben, trennt die
Farbfläche schon optisch selbst — der vorherige große Gap (2.4rem)
wirkte dadurch übertrieben. Auf .7rem reduziert für einen kompakteren,
saubereren Look.
Beim letzten Umbau vergessen — jetzt mit Babyblau/Gold ergänzt, damit
wirklich jede Kategorie in der Leiste ihren eigenen dezenten Farbschein
hat, nicht nur DogFather/HasiDog/Manager/Medien/Start.
Der Wechsel auf justify-content:flex-start + größere Gaps + horizontales
Button-Padding hat die nötige Content-Breite über den 1180px-Container-
Deckel getrieben (bei 1400px Viewport 1523px vs. 1180px verfügbar).
Behoben: eigener, breiterer .nav-bar-Container (1180px -> 1400px, nur
für den Header, .container für den restlichen Seiteninhalt bleibt
unverändert bei 1180px), fester statt viewport-wachsender Bewerben-Gap,
Button-Padding von .8rem auf .55rem reduziert, Hamburger-Schwelle auf
1480px angehoben. Vor dem Commit bei mehreren Breiten numerisch
(scrollWidth vs. clientWidth) UND per Screenshot verifiziert.
- .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.