From b501472d79d492e76d8f7e5ee2097aca3cbd6866 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 6 Jan 2025 12:47:15 -0500 Subject: [PATCH 1/5] use Persisted for details blocks --- packages/site-kit/src/lib/actions/legacy-details.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/site-kit/src/lib/actions/legacy-details.ts b/packages/site-kit/src/lib/actions/legacy-details.ts index c6c6270820..29ed5de516 100644 --- a/packages/site-kit/src/lib/actions/legacy-details.ts +++ b/packages/site-kit/src/lib/actions/legacy-details.ts @@ -1,9 +1,8 @@ import { page } from '$app/stores'; -import { persisted } from 'svelte-persisted-store'; -import { get } from 'svelte/store'; import { fix_position } from './utils'; +import { Persisted } from '../state'; -const show_legacy = persisted('svelte:show-legacy', true); +const show_legacy = new Persisted<'open' | 'closed'>('sv:show-legacy', 'open'); export function legacy_details(node: HTMLElement) { function update() { @@ -16,7 +15,7 @@ export function legacy_details(node: HTMLElement) { } const details = node.querySelectorAll('details.legacy') as NodeListOf; - const show = get(show_legacy); + const show = show_legacy.current === 'open'; /** Whether the toggle was initiated by user action or `element.open = !element.open` */ let secondary = false; @@ -29,7 +28,7 @@ export function legacy_details(node: HTMLElement) { if (secondary) return; secondary = true; - show_legacy.set(detail.open); + show_legacy.current = detail.open ? 'open' : 'closed'; fix_position(detail, () => { for (const other of details) { From 7c03e75b4a4110e6b2c8cd929a626c12c5ec7e2b Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Mon, 6 Jan 2025 12:57:52 -0500 Subject: [PATCH 2/5] another --- packages/site-kit/src/lib/components/Banner.svelte | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/site-kit/src/lib/components/Banner.svelte b/packages/site-kit/src/lib/components/Banner.svelte index 6e210b8761..d3b3f928b0 100644 --- a/packages/site-kit/src/lib/components/Banner.svelte +++ b/packages/site-kit/src/lib/components/Banner.svelte @@ -1,18 +1,19 @@ @@ -12,20 +12,20 @@ Renders a search widget which when clicked (or the corresponding keyboard shortc { - $search_query = e.currentTarget.value; - $searching = true; + search.query = e.currentTarget.value; + search.active = true; e.currentTarget.value = ''; e.currentTarget.blur(); }} onmousedown={(event) => { event.preventDefault(); event.currentTarget.blur(); - $searching = true; + search.active = true; }} ontouchend={(event) => { event.preventDefault(); event.currentTarget.blur(); - $searching = true; + search.active = true; }} type="search" name="q" diff --git a/packages/site-kit/src/lib/search/SearchBox.svelte b/packages/site-kit/src/lib/search/SearchBox.svelte index f56af88da6..1da198857b 100644 --- a/packages/site-kit/src/lib/search/SearchBox.svelte +++ b/packages/site-kit/src/lib/search/SearchBox.svelte @@ -4,7 +4,8 @@ It appears when the user clicks on the `Search` component or presses the corresp -->