diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index d453651..605ca5b 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -4,6 +4,13 @@ import { categories } from "../data/categories"; import { defaultLocale, localeMeta, localePrefix, type Locale } from "../i18n/config"; import { useTranslations } from "../i18n/ui"; import LanguageSwitcher from "../components/LanguageSwitcher.astro"; +// ClientRouter (Astros eingebaute View-Transitions-Technik) ausschließlich für EIN Ziel aktiviert: +// den Musik-Button unten rechts (siehe transition:persist weiter unten) soll beim Seitenwechsel +// nicht neu erzeugt werden, damit ein einmal gestarteter Spotify-Player weiterläuft, statt bei +// jedem Klick auf einen Link neu zu laden — genau wie beim Dogfather-Universe-Projekt, nur mit +// Astros nativer, offiziell unterstützter Lösung dafür statt eines selbstgebauten PJAX-Systems +// (das mit Astros gebündelten, gehashten Skript-Dateien nicht zuverlässig zusammenspielen würde). +import { ClientRouter } from "astro:transitions"; interface Props { title: string; @@ -56,6 +63,7 @@ const p = (href: string) => `${localePrefix(lang)}${href}`; +
🩵 {t.topbar}
@@ -194,13 +202,49 @@ const p = (href: string) => `${localePrefix(lang)}${href}`; + {/* Musik-Button: schwebt rechts unten auf JEDER Seite, spielt Van-Vans Musik von Spotify + (genau wie beim Dogfather-Universe-Projekt — gleiche Spotify-Artist-ID, gleiches Grund- + prinzip). transition:persist sorgt dafür, dass dieses Element (inkl. laufendem Spotify- + iframe) beim Seitenwechsel NICHT neu erzeugt wird, sondern unverändert in die neue Seite + übernommen wird — die Musik läuft also beim Klicken durch die Seite einfach weiter, statt + bei jeder Navigation neu zu starten. Die Farbe des Knopfs passt sich "chamäleonartig" an + die jeweilige Seite an (siehe adaptMusicColors() im Skript unten). */} +
+ + +
+