From d5984703ca1cd957651159c04172b44a40e2e35e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Wed, 23 Aug 2023 02:31:33 +0200 Subject: [PATCH] store script state in hash and not query --- frontend/src/lib/components/ScriptBuilder.svelte | 5 +++-- frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte | 2 +- .../(root)/(logged)/scripts/edit/[...path]/+page.svelte | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte index 90ff86811a..f9106a3658 100644 --- a/frontend/src/lib/components/ScriptBuilder.svelte +++ b/frontend/src/lib/components/ScriptBuilder.svelte @@ -5,7 +5,7 @@ import { inferArgs } from '$lib/infer' import { initialCode } from '$lib/script_helpers' import { enterpriseLicense, userStore, workerTags, workspaceStore } from '$lib/stores' - import { emptySchema, encodeState, getModifierKey, setQueryWithoutLoad } from '$lib/utils' + import { emptySchema, encodeState, getModifierKey } from '$lib/utils' import Path from './Path.svelte' import ScriptEditor from './ScriptEditor.svelte' import ScriptSchema from './ScriptSchema.svelte' @@ -117,9 +117,10 @@ $page.url.searchParams.delete(x) } }) - setQueryWithoutLoad($page.url, [{ key: 'state', value: encodeState(script) }]) } + $: window.history.replaceState(null, '', '#' + encodeState(script)) + if (script.content == '') { initContent(script.language, script.kind, template) } diff --git a/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte index aa70448822..b8d846f8b8 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/add/+page.svelte @@ -17,7 +17,7 @@ const path = $page.url.searchParams.get('path') - const initialState = $page.url.searchParams.get('state') + const initialState = $page.url.hash != '' ? $page.url.hash.slice(1) : undefined let scriptBuilder: ScriptBuilder | undefined = undefined diff --git a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte index bb706edc16..1c65f06026 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte @@ -9,7 +9,7 @@ import { sendUserToast } from '$lib/toast' import DiffDrawer from '$lib/components/DiffDrawer.svelte' - const initialState = $page.url.searchParams.get('state') + const initialState = $page.url.hash != '' ? $page.url.hash.slice(1) : undefined let initialArgs = {} if ($runFormStore) { initialArgs = $runFormStore