diff --git a/package.json b/package.json index a9e9eb0..d327062 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "prettier-plugin-svelte": "^2.7.0", "svelte": "^3.49.0", "svelte-check": "^2.8.0", + "svelte-dark-mode": "^2.1.0", "svelte-hcaptcha": "^0.1.1", "svelte-preprocess": "^4.10.7", "svelte-seo": "^1.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0e6d92..410b767 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,7 @@ specifiers: prettier-plugin-svelte: ^2.7.0 svelte: ^3.49.0 svelte-check: ^2.8.0 + svelte-dark-mode: ^2.1.0 svelte-hcaptcha: ^0.1.1 svelte-preprocess: ^4.10.7 svelte-seo: ^1.4.1 @@ -31,6 +32,7 @@ devDependencies: prettier-plugin-svelte: 2.7.0_o3ioganyptcsrh6x4hnxvjkpqi svelte: 3.49.0 svelte-check: 2.8.0_svelte@3.49.0 + svelte-dark-mode: 2.1.0 svelte-hcaptcha: 0.1.1 svelte-preprocess: 4.10.7_uslzfc62di2n2otc2tvfklnwji svelte-seo: 1.4.1_typescript@4.7.4 @@ -1044,6 +1046,10 @@ packages: - sugarss dev: true + /svelte-dark-mode/2.1.0: + resolution: {integrity: sha512-/QmIqWGwzcfE82FAMuHBlKFwudW7Vcos60Ii8j/mJZ0H6kGAXwL5EGlcc8voBJMJv/i0QZmhp5b1ZX/XKg9NJQ==} + dev: true + /svelte-hcaptcha/0.1.1: resolution: {integrity: sha512-iFF3HwfrCRciJnDs4Y9/rpP/BM2U/5zt+vh+9d4tALPAHVkcANiJIKqYuS835pIaTm6gt+xOzjfFI3cgiRI29A==} dev: true diff --git a/src/lib/Nav.svelte b/src/lib/Nav.svelte index 85b656e..986f073 100644 --- a/src/lib/Nav.svelte +++ b/src/lib/Nav.svelte @@ -2,6 +2,7 @@ import IconBars from "~icons/fa6-solid/bars"; import IconMatrix from "~icons/simple-icons/matrix"; import IconGitHub from "~icons/simple-icons/github"; + import ThemeToggle from "./ThemeToggle.svelte"; diff --git a/src/lib/ThemeToggle.svelte b/src/lib/ThemeToggle.svelte new file mode 100644 index 0000000..17dc831 --- /dev/null +++ b/src/lib/ThemeToggle.svelte @@ -0,0 +1,38 @@ + + + + +{#if theme === "dark"} +
+ +
+{:else if theme === "light"} +
+ +
+{/if} + + \ No newline at end of file diff --git a/src/lib/app.css b/src/lib/app.css index b907d0c..1494236 100644 --- a/src/lib/app.css +++ b/src/lib/app.css @@ -17,18 +17,29 @@ } html { - --primary: #151515; - --secondary: #252525; - --tertiary: #353535; --accent-primary: #b59bd8; --accent-secondary: #b59bd8; --accent-translucent: #b59bd898; - --text: #ffffffde; - --grey: #5454547a; --font-primary: Raleway; --font-header: Raleway; } +html.dark { + --primary: #151515; + --secondary: #252525; + --tertiary: #353535; + --text: #ffffffde; + --grey: #5454547a; +} + +html.light { + --primary: #dddddd; + --secondary: #bbbbbb; + --tertiary: #939393; + --text: #1f1f1f; + --grey: #292929; +} + body { font-family: var(--font-primary); background-color: var(--primary);