From e19851b8612595ab28d9b4a76a484a0c59ffdd53 Mon Sep 17 00:00:00 2001 From: Aidan Bleser Date: Thu, 25 Jul 2024 10:13:55 -0500 Subject: [PATCH] Fixes review comments --- package.json | 1 - pnpm-lock.yaml | 11 ----------- src/lib/assets/icons/index.ts | 6 ++++-- src/lib/assets/icons/x.svg | 5 +++++ src/lib/components/shared/command/command-list.svelte | 9 ++++++++- .../components/shared/{ => command}/command.svelte | 7 +++++-- src/lib/components/shared/command/index.ts | 5 +++++ src/lib/components/ui/dialog/dialog-content.svelte | 6 +++--- src/lib/utils.ts | 10 ++++++++++ src/routes/header.svelte | 2 +- 10 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 src/lib/assets/icons/x.svg rename src/lib/components/shared/{ => command}/command.svelte (96%) create mode 100644 src/lib/components/shared/command/index.ts diff --git a/package.json b/package.json index 40170a0..44243b5 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,6 @@ "dependencies": { "bits-ui": "^0.21.12", "clsx": "^2.1.1", - "lucide-svelte": "^0.414.0", "svelte-legos": "^0.2.3", "tailwind-merge": "^2.4.0", "tailwind-variants": "^0.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48b34f7..de23c12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,9 +11,6 @@ dependencies: clsx: specifier: ^2.1.1 version: 2.1.1 - lucide-svelte: - specifier: ^0.414.0 - version: 0.414.0(svelte@4.2.18) svelte-legos: specifier: ^0.2.3 version: 0.2.3(svelte@4.2.18) @@ -1343,14 +1340,6 @@ packages: /lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - /lucide-svelte@0.414.0(svelte@4.2.18): - resolution: {integrity: sha512-LTEzcm5rix345H2rLxH0nBNZRaFx4I2yL48yDgiIkM9jtUb4LZ629e0MuUmeosS35dGnLFmnGeGNDOt9SKouDA==} - peerDependencies: - svelte: ^3 || ^4 || ^5.0.0-next.42 - dependencies: - svelte: 4.2.18 - dev: false - /magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: diff --git a/src/lib/assets/icons/index.ts b/src/lib/assets/icons/index.ts index 6242db0..62b0a2a 100644 --- a/src/lib/assets/icons/index.ts +++ b/src/lib/assets/icons/index.ts @@ -38,7 +38,7 @@ import LogoTurborepo from './logo-turborepo.svg?component'; import LogoV0 from './logo-v0.svg?component'; import LogoVercelCircle from './logo-vercel-circle.svg?component'; import LogoVercel from './logo-vercel.svg?component'; -import MagnifyingGlass from './magnifying-glass.svg'; +import MagnifyingGlass from './magnifying-glass.svg?component'; import Minus from './minus.svg?component'; import Notification from './notification.svg?component'; import Paperclip from './paperclip.svg?component'; @@ -52,6 +52,7 @@ import Tabs from './tabs.svg?component'; import ThemeSwitchDark from './theme-switch-dark.svg?component'; import ThemeSwitchLight from './theme-switch-light.svg?component'; import ThemeSwitchSystem from './theme-switch-system.svg?component'; +import X from './x.svg?component'; export const Icons = { ArrowLeft, @@ -107,5 +108,6 @@ export const Icons = { Tabs, ThemeSwitchDark, ThemeSwitchLight, - ThemeSwitchSystem + ThemeSwitchSystem, + X }; diff --git a/src/lib/assets/icons/x.svg b/src/lib/assets/icons/x.svg new file mode 100644 index 0000000..bf4dbaf --- /dev/null +++ b/src/lib/assets/icons/x.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/src/lib/components/shared/command/command-list.svelte b/src/lib/components/shared/command/command-list.svelte index a3beeda..98c752b 100644 --- a/src/lib/components/shared/command/command-list.svelte +++ b/src/lib/components/shared/command/command-list.svelte @@ -3,8 +3,11 @@ import { Badge } from '$lib/components/ui/badge'; import { aside_items } from '$lib/config/sitemap'; import { cn } from '$lib/utils'; + import { closeContext } from './index'; export let search: string; + + const close = closeContext.get(); {#each Object.entries(aside_items) as item} @@ -25,8 +28,12 @@ { + if (disabled || !$close) return; + + $close(); + }} aria-disabled={disabled} - on:click={close} aria-selected={false} class={cn( 'flex place-items-center gap-2 rounded-md px-2 py-2 text-sm aria-selected:bg-gray-400', diff --git a/src/lib/components/shared/command.svelte b/src/lib/components/shared/command/command.svelte similarity index 96% rename from src/lib/components/shared/command.svelte rename to src/lib/components/shared/command/command.svelte index f55bb3b..130166b 100644 --- a/src/lib/components/shared/command.svelte +++ b/src/lib/components/shared/command/command.svelte @@ -3,7 +3,8 @@ import * as Dialog from '$lib/components/ui/dialog/index.js'; import * as Drawer from '$lib/components/ui/drawer/index.js'; import { goto } from '$app/navigation'; - import CommandList from './command/command-list.svelte'; + import CommandList from './command-list.svelte'; + import { closeContext } from "./index" export let open = false; const isDesktop = mediaQuery('(min-width: 600px)'); @@ -12,6 +13,8 @@ const close = () => (open = false); + closeContext.init(close); + let listRef: HTMLDivElement; let selectedIndex = 0; @@ -148,7 +151,7 @@ {#if $isDesktop} - +
void; + +export const closeContext = context('gui-command-menu'); \ No newline at end of file diff --git a/src/lib/components/ui/dialog/dialog-content.svelte b/src/lib/components/ui/dialog/dialog-content.svelte index d6d87c6..bf9bbd0 100644 --- a/src/lib/components/ui/dialog/dialog-content.svelte +++ b/src/lib/components/ui/dialog/dialog-content.svelte @@ -1,6 +1,6 @@