From 9484bc60a0cda419efcd9b3432889ee7196cd135 Mon Sep 17 00:00:00 2001 From: Dogfather Date: Sun, 2 Aug 2026 00:51:29 +0200 Subject: [PATCH] =?UTF-8?q?Sprachumschalter:=20Farben=20st=C3=A4rker=20+?= =?UTF-8?q?=20auch=20=C3=BCber=20die=20Schrift,=20Polarlicht-Leuchten?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- assets/css/main.css | 27 ++++++++++++++++++++++++++- assets/js/main.js | 23 ++++++++++++++--------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/assets/css/main.css b/assets/css/main.css index 3ca1741..fce24ee 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -212,8 +212,33 @@ header.site-header { box-shadow: inset -2px -2px 4px rgba(0, 0, 0, .45), inset 2px 2px 3px rgba(255, 255, 255, .55), - 0 0 5px rgba(0, 0, 0, .35); + 0 0 7px 1px color-mix(in srgb, var(--sprach-glut, transparent) 85%, transparent), + 0 0 16px 2px color-mix(in srgb, var(--sprach-glut, transparent) 55%, transparent); flex-shrink: 0; + animation: sprach-glut-puls 3.2s ease-in-out infinite; +} +/* Die Sprachfarbe zieht sich jetzt auch über die Schrift — kräftiger, + leuchtender Text statt neutralem Weiß, plus ein sanft pulsierender + Schein (dieselbe "Polarlicht"-Idee wie beim Bewerben-Knopf/den + Foto-Rahmen, nur in der jeweiligen Sprachfarbe). */ +.sprach-schalter > button, +.sprach-schalter .nav-dropdown a { + color: var(--sprach-glut, var(--text)); + text-shadow: + 0 0 6px color-mix(in srgb, var(--sprach-glut, transparent) 70%, transparent), + 0 0 14px color-mix(in srgb, var(--sprach-glut, transparent) 45%, transparent); +} +.sprach-schalter .nav-dropdown a:hover, +.sprach-schalter .nav-dropdown a.active { + background: color-mix(in srgb, var(--sprach-glut, var(--bg-alt)) 16%, var(--bg-alt)); +} +.sprach-kurz { animation: sprach-glut-puls 3.2s ease-in-out infinite; display: inline-block; } +@keyframes sprach-glut-puls { + 0%, 100% { filter: brightness(1) saturate(1); } + 50% { filter: brightness(1.25) saturate(1.3); } +} +@media (prefers-reduced-motion: reduce) { + .sprach-kugel, .sprach-kurz { animation: none; } } /* "Bewerben" ist der Treffpunkt beider Welten (Team Dogi + Spicy Media) — diff --git a/assets/js/main.js b/assets/js/main.js index 2983e97..54fd51e 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -33,12 +33,17 @@ "GB EN" (Flagge≠Sprachcode bei Englisch) usw. Ein einzelnes Globus-Symbol im Knopf plus volle Sprachnamen im Dropdown ist eindeutig und funktioniert auf jedem Betriebssystem gleich. */ + /* Pro Sprache eine kräftige, gut leuchtende Akzentfarbe (glut) für Text + + Kugel-Glanz, plus einen zweifarbigen Verlauf (farben) für die Kugel + selbst — angelehnt an die jeweilige Landesfarbe, aber bewusst + gesättigter/heller gewählt (nicht die originalen, oft eher stumpfen + Flaggenfarben), damit der Polarlicht-Leuchteffekt gut trägt. */ const SPRACHEN = [ - { code: "de", kurz: "DE", name: "Deutsch", farben: "linear-gradient(160deg, #1a1a1a 0%, #dd0000 50%, #ffce00 100%)" }, - { code: "de-CH", kurz: "CH", name: "Deutsch (Schweiz)", farben: "linear-gradient(160deg, #d52b1e 0%, #d52b1e 60%, #ffffff 100%)" }, - { code: "en", kurz: "EN", name: "English", farben: "linear-gradient(160deg, #00247d 0%, #ffffff 50%, #cf142b 100%)" }, - { code: "fr", kurz: "FR", name: "Français", farben: "linear-gradient(160deg, #0055a4 0%, #ffffff 50%, #ef4135 100%)" }, - { code: "pt", kurz: "PT", name: "Português", farben: "linear-gradient(160deg, #046a38 0%, #046a38 45%, #da291c 100%)" }, + { code: "de", kurz: "DE", name: "Deutsch", glut: "#ffb300", farben: "linear-gradient(160deg, #ffe066 0%, #ff8c00 100%)" }, + { code: "de-CH", kurz: "CH", name: "Deutsch (Schweiz)", glut: "#ff3b3b", farben: "linear-gradient(160deg, #ff8080 0%, #d90000 100%)" }, + { code: "en", kurz: "EN", name: "English", glut: "#2f6bff", farben: "linear-gradient(160deg, #7fa8ff 0%, #1a3fd6 100%)" }, + { code: "fr", kurz: "FR", name: "Français", glut: "#00c2ff", farben: "linear-gradient(160deg, #7fe3ff 0%, #0090cc 100%)" }, + { code: "pt", kurz: "PT", name: "Português", glut: "#20d97a", farben: "linear-gradient(160deg, #7cf5b0 0%, #0a9e4c 100%)" }, ]; const SPRACHE_SCHLUESSEL = "dogi-sprache"; @@ -252,14 +257,14 @@ const aktiv = SPRACHEN.find((s) => s.code === aktuell) || SPRACHEN[0]; return ` `;