From 4ec5e524e533ae6d326f7085c8846e97759b922d Mon Sep 17 00:00:00 2001 From: eleith Date: Tue, 3 Nov 2026 15:55:26 -0800 Subject: [PATCH] [web] give route UI state explicit ownership --- .changeset/route-owned-ui-state.md | 5 + .../asset/editor/[...asset]/+layout.svelte | 9 + .../asset/editor/[...asset]/+page.svelte | 30 ++-- .../asset/editor/[...asset]/layout.test.ts | 22 +++ .../routes/(auth)/admin/health/+page.svelte | 168 +++++++++++------- .../[...path]/preview/[jobId]/+layout.svelte | 35 ++-- .../[...path]/preview/[jobId]/layout.test.ts | 8 +- .../[...path]/preview/[jobId]/page.test.ts | 27 ++- .../preview/[jobId]/share/page.test.ts | 5 +- apps/web/src/routes/tags/[tag]/+page.svelte | 9 +- 10 files changed, 201 insertions(+), 117 deletions(-) create mode 100644 .changeset/route-owned-ui-state.md create mode 100644 apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+layout.svelte create mode 100644 apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/layout.test.ts diff --git a/.changeset/route-owned-ui-state.md b/.changeset/route-owned-ui-state.md new file mode 100644 index 00000000..ed99a097 --- /dev/null +++ b/.changeset/route-owned-ui-state.md @@ -0,0 +1,5 @@ +--- +"@luzzle/web": patch +--- + +Keep asset editor drafts scoped to their file, reset tag pagination when loaded results change, and ignore obsolete pagination and health-probe responses. Make preview destinations reactive while preserving each job's live progress. diff --git a/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+layout.svelte b/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+layout.svelte new file mode 100644 index 00000000..7c04cbb6 --- /dev/null +++ b/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+layout.svelte @@ -0,0 +1,9 @@ + + +{#key params.asset} + {@render children()} +{/key} diff --git a/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+page.svelte b/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+page.svelte index 50584bfe..e2222163 100644 --- a/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+page.svelte +++ b/apps/web/src/routes/(auth)/admin/asset/editor/[...asset]/+page.svelte @@ -1,5 +1,5 @@ @@ -107,14 +195,7 @@ {#if data.configSummary.auth.issuer}
-
(oidcTesting = v), - (v) => (oidcTest = v) - )} - > + {@render testButton(oidcTesting, 'test issuer')}
@@ -138,14 +219,7 @@
-
(storageTesting = v), - (v) => (storageTest = v) - )} - > + {@render testButton(storageTesting)}
@@ -175,14 +249,7 @@
-
(archiveTesting = v), - (v) => (archiveTest = v) - )} - > + {@render testButton(archiveTesting)}
@@ -218,14 +285,7 @@
-
(cdnTesting = v), - (v) => (cdnTest = v) - )} - > + {@render testButton(cdnTesting)}
@@ -254,14 +314,7 @@
-
(workerTesting = v), - (v) => (workerTest = v) - )} - > + {@render testButton(workerTesting)}
@@ -290,14 +343,7 @@
-
(aiTesting = v), - (v) => (aiTest = v) - )} - > + {@render testButton(aiTesting, 'test key')}
diff --git a/apps/web/src/routes/(auth)/admin/piece/[...path]/preview/[jobId]/+layout.svelte b/apps/web/src/routes/(auth)/admin/piece/[...path]/preview/[jobId]/+layout.svelte index d5bff3dd..7e00d98f 100644 --- a/apps/web/src/routes/(auth)/admin/piece/[...path]/preview/[jobId]/+layout.svelte +++ b/apps/web/src/routes/(auth)/admin/piece/[...path]/preview/[jobId]/+layout.svelte @@ -1,6 +1,6 @@
- +