diff --git a/src/routes/(app)/dashboard/+page.svelte b/src/routes/(app)/dashboard/+page.svelte index 4de0ad6..86921f0 100644 --- a/src/routes/(app)/dashboard/+page.svelte +++ b/src/routes/(app)/dashboard/+page.svelte @@ -4,9 +4,10 @@ import SiteList from "$lib/components/SiteList.svelte"; import SiteDetail from "$lib/components/SiteDetail.svelte"; import { selectedSiteId } from "$lib/stores/sites"; - import { MousePointer2, Download } from "@lucide/svelte"; + import { MousePointer2, Download, List, X } from "@lucide/svelte"; let mouseDown = $state<{ x: number; y: number } | null>(null); + let sidebarOpen = $state(false); function onMouseDown(e: MouseEvent) { mouseDown = { x: e.clientX, y: e.clientY }; @@ -21,40 +22,63 @@ } const target = e.target as HTMLElement; if (target.closest("[data-detail-panel]")) return; - if ( - target.closest(".leaflet-marker-icon, .leaflet-popup, .leaflet-control") - ) - return; + if (target.closest(".leaflet-marker-icon, .leaflet-popup, .leaflet-control")) return; selectedSiteId.set(null); } + + function openSidebar() { sidebarOpen = true; } + function closeSidebar() { sidebarOpen = false; } + + $effect(() => { + if ($selectedSiteId) closeSidebar(); + });
+ + {#if sidebarOpen} +
{}}>
+ {/if} + + + +
e.key === "Escape" && selectedSiteId.set(null)} + onkeydown={(e) => e.key === "Escape" && (selectedSiteId.set(null), closeSidebar())} > + + +
diff --git a/src/routes/(marketing)/+page.svelte b/src/routes/(marketing)/+page.svelte index df0bc99..3980392 100644 --- a/src/routes/(marketing)/+page.svelte +++ b/src/routes/(marketing)/+page.svelte @@ -514,7 +514,7 @@
Bortle 3: rural sky Bortle 1: pristine dark