From e84f212772232f64d523cd4d17688a8b20cdee99 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Tue, 3 May 2022 23:27:06 -0700 Subject: [PATCH] Adding toggle component and local storage using carbon components as base. --- package-lock.json | 71 ++++++---- src/components/toggle.svelte | 66 ++++++++++ src/lib/LocalStorage.svelte | 71 ++++++++++ src/lib/header/Header.svelte | 246 +++++++++++++---------------------- static/moon.svg | 1 + static/sun.svg | 1 + 6 files changed, 277 insertions(+), 179 deletions(-) create mode 100644 src/components/toggle.svelte create mode 100644 src/lib/LocalStorage.svelte create mode 100644 static/moon.svg create mode 100644 static/sun.svg diff --git a/package-lock.json b/package-lock.json index 6a6e0fe..40b28bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "boredgame", "version": "0.0.1", "dependencies": { - "@fontsource/fira-mono": "^4.5.7", + "@fontsource/fira-mono": "^4.5.8", "@lukeed/uuid": "^2.0.0", "cookie": "^0.5.0", "node-sass": "^7.0.1", @@ -16,15 +16,16 @@ }, "devDependencies": { "@playwright/test": "^1.21.1", + "@rgossiaux/svelte-headlessui": "1.0.0-beta.12", "@sveltejs/adapter-auto": "next", "@sveltejs/kit": "next", - "@types/cookie": "^0.5.0", - "@types/node": "^17.0.25", - "@typescript-eslint/eslint-plugin": "^5.20.0", - "@typescript-eslint/parser": "^5.20.0", - "carbon-components-svelte": "^0.63.1", + "@types/cookie": "^0.5.1", + "@types/node": "^17.0.31", + "@typescript-eslint/eslint-plugin": "^5.21.0", + "@typescript-eslint/parser": "^5.21.0", + "carbon-components-svelte": "^0.63.4", "carbon-icons-svelte": "^11.0.1", - "eslint": "^8.13.0", + "eslint": "^8.14.0", "eslint-config-prettier": "^8.5.0", "eslint-plugin-svelte3": "^3.4.1", "prettier": "^2.6.2", @@ -32,8 +33,8 @@ "svelte": "^3.47.0", "svelte-check": "^2.7.0", "svelte-preprocess": "^4.10.6", - "tslib": "^2.3.1", - "typescript": "^4.6.3" + "tslib": "^2.4.0", + "typescript": "^4.6.4" } }, "node_modules/@babel/code-frame": { @@ -1115,6 +1116,15 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/@rgossiaux/svelte-headlessui": { + "version": "1.0.0-beta.12", + "resolved": "https://registry.npmjs.org/@rgossiaux/svelte-headlessui/-/svelte-headlessui-1.0.0-beta.12.tgz", + "integrity": "sha512-UgLV9PwlwkJYObYSzxm5kh5HbyEps3oMbihL1BY7CpZ26j0q6O6WaG4d95eiMilhzyHfRYRm/VLyNPJISBFqAA==", + "dev": true, + "peerDependencies": { + "svelte": "^3.44.0" + } + }, "node_modules/@rollup/pluginutils": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", @@ -1264,9 +1274,9 @@ "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, "node_modules/@types/node": { - "version": "17.0.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.30.tgz", - "integrity": "sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -1890,9 +1900,9 @@ ] }, "node_modules/carbon-components-svelte": { - "version": "0.63.3", - "resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.63.3.tgz", - "integrity": "sha512-a3HX73QryT0vO1YzQsFLbuzWclCBcqXtIvW8VwlAteiQ9xe/59uGFv50SwdiTvRNUauVdzOExUvaJO4FwMvoDg==", + "version": "0.63.4", + "resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.63.4.tgz", + "integrity": "sha512-ZDEgPF6XJzHOMt10JDmzvu78gy5TapHXPBg3jA38HD6acfRG5AWYcGAH55/qIxPkBd7VTBixOst2DQ1sMH0kwA==", "dev": true, "dependencies": { "flatpickr": "4.6.9" @@ -5684,9 +5694,9 @@ } }, "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, "node_modules/tsutils": { @@ -6815,6 +6825,13 @@ } } }, + "@rgossiaux/svelte-headlessui": { + "version": "1.0.0-beta.12", + "resolved": "https://registry.npmjs.org/@rgossiaux/svelte-headlessui/-/svelte-headlessui-1.0.0-beta.12.tgz", + "integrity": "sha512-UgLV9PwlwkJYObYSzxm5kh5HbyEps3oMbihL1BY7CpZ26j0q6O6WaG4d95eiMilhzyHfRYRm/VLyNPJISBFqAA==", + "dev": true, + "requires": {} + }, "@rollup/pluginutils": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.2.tgz", @@ -6936,9 +6953,9 @@ "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, "@types/node": { - "version": "17.0.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.30.tgz", - "integrity": "sha512-oNBIZjIqyHYP8VCNAV9uEytXVeXG2oR0w9lgAXro20eugRQfY002qr3CUl6BAe+Yf/z3CRjPdz27Pu6WWtuSRw==", + "version": "17.0.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", + "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", "dev": true }, "@types/normalize-package-data": { @@ -7365,9 +7382,9 @@ "dev": true }, "carbon-components-svelte": { - "version": "0.63.3", - "resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.63.3.tgz", - "integrity": "sha512-a3HX73QryT0vO1YzQsFLbuzWclCBcqXtIvW8VwlAteiQ9xe/59uGFv50SwdiTvRNUauVdzOExUvaJO4FwMvoDg==", + "version": "0.63.4", + "resolved": "https://registry.npmjs.org/carbon-components-svelte/-/carbon-components-svelte-0.63.4.tgz", + "integrity": "sha512-ZDEgPF6XJzHOMt10JDmzvu78gy5TapHXPBg3jA38HD6acfRG5AWYcGAH55/qIxPkBd7VTBixOst2DQ1sMH0kwA==", "dev": true, "requires": { "flatpickr": "4.6.9" @@ -10131,9 +10148,9 @@ } }, "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", "dev": true }, "tsutils": { diff --git a/src/components/toggle.svelte b/src/components/toggle.svelte new file mode 100644 index 0000000..6343b73 --- /dev/null +++ b/src/components/toggle.svelte @@ -0,0 +1,66 @@ + + + (enabled = e.detail)} + class={enabled ? 'switch switch-enabled' : 'switch switch-disabled'} +> + Dark Mode + + + + diff --git a/src/lib/LocalStorage.svelte b/src/lib/LocalStorage.svelte new file mode 100644 index 0000000..820a308 --- /dev/null +++ b/src/lib/LocalStorage.svelte @@ -0,0 +1,71 @@ + diff --git a/src/lib/header/Header.svelte b/src/lib/header/Header.svelte index 133de72..a0abdb4 100644 --- a/src/lib/header/Header.svelte +++ b/src/lib/header/Header.svelte @@ -1,27 +1,26 @@
-
- - SvelteKit - -
+
+ + SvelteKit + +
- +
+ +
+ +
diff --git a/static/moon.svg b/static/moon.svg new file mode 100644 index 0000000..dbf7c6c --- /dev/null +++ b/static/moon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/sun.svg b/static/sun.svg new file mode 100644 index 0000000..7f51b94 --- /dev/null +++ b/static/sun.svg @@ -0,0 +1 @@ + \ No newline at end of file