From 7bd0905ecf5798911c4c367832cb3c4f440e9ce1 Mon Sep 17 00:00:00 2001 From: Adrian Altner Date: Tue, 21 Apr 2026 01:44:47 +0200 Subject: [PATCH] Add theme toggle functionality and improve theme management --- src/components/Header.astro | 108 ++++++++++++++++++++++++++++++++++- src/layouts/BaseLayout.astro | 27 ++++++++- src/styles/global.css | 21 ++++++- 3 files changed, 151 insertions(+), 5 deletions(-) diff --git a/src/components/Header.astro b/src/components/Header.astro index beeaaba..f26f787 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -59,6 +59,21 @@ const switchHref = await resolveSwitchHref(); {t(locale, 'nav.categories')} {t(locale, 'nav.tags')} +
+ DE EN +
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index faaccab..3248167 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -33,11 +33,36 @@ const { + -
+
diff --git a/src/styles/global.css b/src/styles/global.css index 8d0e05f..3a2ba6e 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -11,10 +11,29 @@ --gray: 96, 115, 159; --gray-light: 229, 233, 240; --gray-dark: 34, 41, 57; - --gray-gradient: rgba(var(--gray-light), 50%), #fff; + --surface: 255, 255, 255; + --gray-gradient: rgba(var(--gray-light), 50%), rgb(var(--surface)); --box-shadow: 0 2px 6px rgba(var(--gray), 25%), 0 8px 24px rgba(var(--gray), 33%), 0 16px 32px rgba(var(--gray), 33%); + color-scheme: light; +} +:root[data-theme='dark'] { + --accent: #8c96ff; + --accent-dark: #c2c8ff; + --black: 230, 233, 240; + --gray: 150, 160, 190; + --gray-light: 38, 42, 56; + --gray-dark: 220, 225, 235; + --surface: 17, 20, 28; + --gray-gradient: rgba(var(--gray-light), 50%), rgb(var(--surface)); + color-scheme: dark; +} +html { + background: rgb(var(--surface)); + transition: + background-color 300ms ease, + color 300ms ease; } body { font-family: var(--font-atkinson);