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)
Fremde Bewerber koennen theoretisch kurz hintereinander absenden (z.B.
wenn Dogi live "bewerbt euch jetzt" sagt) und dabei dasselbe Rate-Limit
treffen, das beim Testen aufgefallen ist. Jetzt wird ein 429 automatisch
bis zu 2x mit kurzer Pause wiederholt (Retry-After-Header wird beachtet,
sonst 2s/5s Standard-Wartezeit), bevor endgueltig aufgegeben wird - laeuft
komplett im Hintergrund ueber ctx.waitUntil, blockiert nie die Antwort an
den Bewerber. Die Bewerbung selbst landet ohnehin immer sicher in der
eigenen Datenbank, unabhaengig vom Ticketanizer-Ergebnis.
Getestet mit 3 gleichzeitigen Bewerbungen - alle liefen sauber durch.
Bisher hatte der Chamäleon-Musik-Knopf nur einen einfachen, statischen
Farbverlauf - jetzt läuft er wie der Bewerben-Knopf: dunkler Grund +
wandernde, weichgezeichnete Farbwolken + durchlaufender Lichtschimmer
(wiederverwendete @keyframes btn-aurora/btn-shimmer). Die Farben kommen
weiterhin live per Canvas-Analyse aus dem Seitenbild (--music-c1/-c2).
Auf Start-/Bewerben-Seiten überschreibt der bestehende Block die Farben
weiterhin fest auf die Bewerben-Palette (höhere Selektor-Spezifität).
- .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 wurden Fehler beim Ticket-Anlegen komplett stillschweigend
verschluckt (bewusst, damit es die Bewerbung nie blockiert) - das machte
es aber unmöglich zu sehen, WARUM ein Ticket nicht ankam. Jetzt wird
jeder Versuch (Erfolg wie Fehler, inkl. HTTP-Status und Antworttext)
über console.log/console.error protokolliert, sichtbar per
`wrangler tail`.
Umgestellt von der ursprünglichen Discord-Webhook-Idee auf die offizielle
Ticketanizer-Inbound-Ticket-API (api.ticketanizer.com/v1/tickets) - erzeugt
echte Tickets statt nur Nachrichten, landen dadurch direkt im richtigen
Ticketanizer-Bereich in Discord.
- Neu: cloudflare-worker/src/lib/ticketanizer.js. panel_id pro Bewerbungs-
bereich fest hinterlegt (aus dem Ticketanizer-Dashboard abgelesen):
Modi=4, Kooperation=5, Scout=6, Creator=7 (dort "Manager-Bewerbung")
- Alte discord.js entfernt (Ansatz verworfen)
- applications.js: Aufruf entsprechend umbenannt/angepasst
- README.md: Einrichtungsanleitung aktualisiert (TICKETANIZER_API_KEY
statt 4x DISCORD_WEBHOOK_*)
- Ticketanizer bleibt rein informativ, kein Ausfallpunkt - Bewerbung wird
immer in der eigenen Datenbank gespeichert, unabhängig vom Ticket-Erfolg
- Secret TICKETANIZER_API_KEY bereits live gesetzt und deployed; End-to-
End mit 3 Test-Bewerbungen geprüft (HTTP Ok geloggt), Testeinträge aus
der DB wieder entfernt
Jede eingehende Bewerbung landet weiterhin wie bisher in der D1-Datenbank,
wird zusätzlich aber (falls eine Webhook-URL hinterlegt ist) als formatierte
Discord-Nachricht in den passenden Kanal gepostet - pro Bewerbungsbereich
(Modi/Scout/Creator/Kooperation) eine eigene Webhook-URL, exakt wie auf der
Website getrennt. Läuft über normale Discord-Webhooks, kompatibel mit
Ticketanizer, falls dessen Kanäle eigene Ziel-URLs im selben Format anbieten.
- Neu: cloudflare-worker/src/lib/discord.js (Embed-Aufbau, Feld-Labels
pro Formular, Farbe je Bewerbungsart)
- applications.js: submitApplication ruft den Versand nach dem Speichern
auf, über ctx.waitUntil() damit die Antwort an den Nutzer nicht wartet
- worker.js: ctx wird jetzt an fetch() durchgereicht
- Discord ist rein informativ - fehlt die Webhook-URL oder ist Discord
kurz nicht erreichbar, wird die Bewerbung trotzdem ganz normal
gespeichert
- README.md: Einrichtungsanleitung (wrangler secret put DISCORD_WEBHOOK_*)
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.
Das auf 240px verkleinerte Banner war laut Dogi immer noch zu dominant -
man sah beim Öffnen zuerst das Bild statt die Person. Jetzt gibt es auf
profil.html gar kein scharfes Kopfbanner mehr, nur noch die ohnehin
vorhandene weichgezeichnete Hintergrundstimmung (body.mit-hintergrund,
liegt fest hinter allem und nimmt keinen Platz im Textfluss ein). Direkt
nach dem kompakten Titel kommt sofort das Profilfoto mit Name und Bio.
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.
Das Banner-Bild auf profil.html nahm bisher seine volle Original-Höhe ein
(analog zu den anderen Seiten) und schob das eigentliche Profil weit nach
unten. Jetzt begrenzt auf 240px (Desktop) / 150px (Mobil), object-fit:cover
statt height:auto, plus stärkerer Verlaufs-Overlay — das Bild wirkt jetzt
als Stimmungsstreifen im Hintergrund, das Profil (Foto/Name/Bio) ist sofort
sichtbar.
- 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]>
Nach mehreren Anlaeufen mit CSS background-size (cover schnitt Raender
ab, "100% auto" schnitt oben/unten ab sobald die Box nicht exakt im
Bildseitenverhaeltnis war) jetzt die einzige Loesung, die beides IMMER
garantiert: ein echtes <img width:100% height:auto> statt eines CSS-
Hintergrunds. Die Bildhoehe bestimmt sich selbst statt in eine
vorgegebene Box gepresst zu werden -- dadurch kann nichts mehr
beschnitten werden, unabhaengig vom Bildseitenverhaeltnis.
- 18 Seiten (alle bewerben-*, casper, community, creator, dogfather,
hasidog, manager, stimmen, streamplan, team-modis, team-scouts,
vanvan, werte, zeitreise) bekommen einen echten Bild-Banner oben im
Kopfbereich statt eines CSS-Hintergrunds. Bild sitzt jetzt als
eigener Banner OBERHALB der Ueberschrift, mit weichem Verlauf zur
Seite hin.
- profil.html: gleiches Prinzip, Bild wird per JS passend zur Person
(Modi/Scout/Creator-Welt) nachgeladen.
- index.html/hasidog.html (Kino-Hintergrund mit Text UEBER dem Bild +
Polarlicht-Effekten): Redesign auf Banner-Layout haette das Design
zerstoert. Stattdessen die scharfe Bildebene auf "contain" umgestellt
(garantiert komplett sichtbar), die vorhandene weichgezeichnete
Cover-Ebene darunter fuellt jeden Rand, den "contain" freilaesst --
wirkt dadurch weiterhin randlos, obwohl die scharfen Pixel nie
beschnitten werden.
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]>
- Neues Hintergrundbild (Husky + Dogi zwischen Blau/Rot-Blitzen) auf
bewerben.html, ersetzt das alte Motiv
- Layout in zwei Spalten: Modi + Kooperation links (blaue Community-
Seite des Bildes), Scout + Streamer/Creator-Bewerbung rechts (rote
Agentur-Seite), passend zur Bildkomposition
- Kleine leuchtende Trennwand in der Mitte, blau-lila-rot-Verlauf mit
Blitz-Knoten, verbindet die Bild-Lichtgrenze visuell mit dem Layout
- "Bewerben"-Knopf in der Navigation und der Musik-Knopf unten rechts
sind jetzt fest halb babyblau/halb rot (statt Theme-Farbe) -- beide
gehoeren zu keiner der beiden Welten allein
Co-Authored-By: Claude Opus 5 <[email protected]>
- team-modis.html: "seine beste Freundin" -> "Super Super Sekretaerin"
- Team-Hierarchie ist jetzt eine echte Pyramide statt eines gleich-
foermigen Rasters: eine Ebene pro Rang, zentriert, mit leuchtender
Verbindungslinie und Knoten pro Stufe (Organigramm-Optik). Karten-
und Avatar-Groesse nimmt von Stufe zu Stufe ab, VanVans grosse,
separate Karte bleibt oben unveraendert gross.
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]>
Nach dem letzten Schritt (ganzes Bild sichtbar, contain) kam die Rueck-
meldung: super, aber die Breite soll jetzt randlos ausgefuellt sein.
- .page-bg und .hero-artwork: background-size von contain auf 100% auto.
Breite ist immer exakt randlos voll, Hoehe skaliert im selben
Seitenverhaeltnis mit. Passt das Bild oben/unten nicht ganz in den
Kasten, wird dort sauber beschnitten (statt seitlich, wie es frueher
mit "cover" war) bzw. scheint die weichgezeichnete Ebene durch, wenn
das Bild kuerzer als der Kasten ist.
Co-Authored-By: Claude Opus 5 <[email protected]>
Auf Wunsch: das ganze Motiv soll immer zu sehen sein, oben/unten/
links/rechts nichts abgeschnitten.
- .page-bg (14 Seiten: Casper, Dogfather, Modi-Team, Scouts, VanVan,
Bewerben, Manager, Streamplan, Zeitreise, Stimmen, Community, Werte,
Creator, HasiDog): background-size von cover auf contain. Der scharfe
Bild-Layer zeigt jetzt garantiert das komplette Motiv; wo dadurch
links/rechts oder oben/unten Rand frei bleibt, scheint die weichge-
zeichnete Ebene dahinter durch statt einer leeren Flaeche.
- .hero-artwork (Trio-Kinohintergrund auf Startseite + altem HasiDog-
Layout): ebenfalls auf contain umgestellt, Ken-Burns-Zoom entfernt
(ein Zoom haette immer einen Teil aus dem Bild geschoben - Widerspruch
zu "alles soll zu sehen sein"). Feste, ruhige Darstellung.
- Handy: der scharfe Layer bleibt beim vollen Original (kein Zuschnitt
mehr auf den portraetierten *-mobile.jpg); nur der unscharfe
Hintergrund-Layer darf weiter den Handy-Zuschnitt nutzen, da er nur
Stimmung ist, nicht "das Bild" selbst.
- Tote Regeln (Kenburns-Keyframes, leere reduced-motion-Regel) entfernt.
Co-Authored-By: Claude Opus 5 <[email protected]>
Bestaetigt in Chrome UND Edge (headless): backdrop-filter:blur() auf der
sticky-positionierten Kopfzeile fuehrte dazu, dass Logo und Menue-Knopf
bei schmaler Fensterbreite unsichtbar gerendert wurden (bestaetigt durch
Debug-Umrandungen und durch Deaktivieren des Filters, wonach der Inhalt
wieder auftauchte). Jetzt deckende Hintergrundfarbe ohne Weichzeichner.
Co-Authored-By: Claude Opus 5 <[email protected]>
Beim Testen in schmaler Breite fielen Logo/Markenname und Hamburger-Menue
komplett weg. Ursache: die Kopfzeile ist ein Flexbox-Container ohne
flex-shrink:0 auf den wichtigen Elementen - unter bestimmten Bedingungen
(z.B. bevor das mobile Menue seine fixed-Position bekommt) konnten Logo
und Menue-Knopf auf Breite 0 gequetscht werden.
Fix: nav-bar bekommt flex-wrap:nowrap, brand und nav-toggle bekommen
flex-shrink:0 - sie behalten jetzt immer ihre volle Groesse.
Co-Authored-By: Claude Opus 5 <[email protected]>
- Seitenkoerper: Motiv staerker weichgezeichnet und abgedunkelt
(Helligkeit 62%), Abdunkelung von 62-90% auf 80-95% angehoben
- Kopfbereich: Vignette und Verlauf kraeftiger, Mitte aber hell genug
dass das Motiv weiter klar erkennbar bleibt
- Ziel: langes Lesen soll angenehm sein, das Bild bleibt Stimmung
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]>
Das rote Spicy-Media-Bewerbungsmotiv war hier nur ein Versehen. Jetzt
liegt das richtige HasiDog-Artwork dahinter: babyblau, mit Schriftzug,
Maskottchen und LIVE-ON-AIR-Studio — passend zur Community-Welt.
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]>