From 83f277cefe9149a4ee5404cfc87a24f975b1c49f Mon Sep 17 00:00:00 2001 From: Luke Hagar Date: Tue, 3 Jun 2025 12:31:10 -0500 Subject: [PATCH] styling, and clickoutside handler --- package-lock.json | 11 +++++++ package.json | 1 + src/lib/components/ThemeSwitch.svelte | 41 +++++++++++++++------------ 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index a821e23..8621dde 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "@skeletonlabs/skeleton-svelte": "^1.2.3", "@supabase/ssr": "^0.6.1", "@supabase/supabase-js": "^2.49.8", + "@svelte-put/clickoutside": "^4.0.0", "@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", @@ -1445,6 +1446,16 @@ "@supabase/storage-js": "2.7.1" } }, + "node_modules/@svelte-put/clickoutside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@svelte-put/clickoutside/-/clickoutside-4.0.0.tgz", + "integrity": "sha512-36lLICc+RB6t/Kw0L6fZKU/y/yAAx3P+SsI2BtYM1GUBaYytSFHBWMw1c3TQEWj7Y8SgY6H3JsfEd2flbNWhqA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "svelte": "^5.1.0" + } + }, "node_modules/@sveltejs/acorn-typescript": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", diff --git a/package.json b/package.json index b2e0491..192e7ec 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@skeletonlabs/skeleton-svelte": "^1.2.3", "@supabase/ssr": "^0.6.1", "@supabase/supabase-js": "^2.49.8", + "@svelte-put/clickoutside": "^4.0.0", "@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/kit": "^2.16.0", "@sveltejs/vite-plugin-svelte": "^5.0.0", diff --git a/src/lib/components/ThemeSwitch.svelte b/src/lib/components/ThemeSwitch.svelte index 257b8a0..40490e7 100644 --- a/src/lib/components/ThemeSwitch.svelte +++ b/src/lib/components/ThemeSwitch.svelte @@ -2,6 +2,7 @@ import { onMount } from 'svelte'; import { browser } from '$app/environment'; import { Check, ChevronDown, Moon, Palette, Sun } from '@lucide/svelte'; + import { clickoutside } from '@svelte-put/clickoutside'; // Available color themes const colorThemes = [ @@ -115,7 +116,8 @@ -
+
(showDropdown = false)}> {#if showDropdown}
-
- {#each colorThemes as theme} - - {/each} -
+
+ {#each colorThemes as theme} + + {/each} +
{/if}