diff --git a/src/app.css b/src/app.css index 2078a4c..ebb81d3 100644 --- a/src/app.css +++ b/src/app.css @@ -19,6 +19,33 @@ --teal: #007d79; --gray-tag: #e0e0e0; --focus: #0f62fe; + /* The top bar stays dark in both themes; a dedicated token keeps it + independent of --text, which flips between light and dark modes. */ + --header-bg: #161616; + color-scheme: light; +} + +:root[data-theme='dark'] { + --bg: #161616; + --layer: #262626; + --layer-hover: #333333; + --border: #393939; + --border-strong: #6f6f6f; + --text: #f4f4f4; + --text-secondary: #c6c6c6; + --text-helper: #a8a8a8; + --interactive: #4589ff; + --interactive-hover: #6ea6ff; + --danger: #fa4d56; + --success: #42be65; + --warning-bg: #302915; + --warning: #f1c21b; + --purple: #a56eff; + --teal: #3ddbd9; + --gray-tag: #393939; + --focus: #4589ff; + --header-bg: #0b0b0b; + color-scheme: dark; } * { diff --git a/src/app.html b/src/app.html index 97f47a1..8b60952 100644 --- a/src/app.html +++ b/src/app.html @@ -4,6 +4,18 @@ + %sveltekit.head% diff --git a/src/lib/components/ThemeToggle.svelte b/src/lib/components/ThemeToggle.svelte new file mode 100644 index 0000000..06b4578 --- /dev/null +++ b/src/lib/components/ThemeToggle.svelte @@ -0,0 +1,73 @@ + + + + + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 6f47296..f6819f9 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,6 @@ Project SDE | Meeting Toolkit @@ -7,6 +8,7 @@
Project SDE | Meeting Toolkit
+
@@ -34,7 +36,7 @@ position: sticky; top: 0; z-index: 30; - background: var(--text); + background: var(--header-bg); color: #fff; padding: 0 24px; display: flex; diff --git a/src/routes/scope-lock/+page.svelte b/src/routes/scope-lock/+page.svelte index 40ad7fb..09e7ba5 100644 --- a/src/routes/scope-lock/+page.svelte +++ b/src/routes/scope-lock/+page.svelte @@ -4,6 +4,7 @@ import { toast } from '$lib/toast.svelte'; import Toast from '$lib/components/Toast.svelte'; import SyncBadge from '$lib/components/SyncBadge.svelte'; + import ThemeToggle from '$lib/components/ThemeToggle.svelte'; import { DECISION_OWNERS, DECISION_STATUSES, @@ -223,6 +224,7 @@ +