diff --git a/frontend/src/hooks.ts b/frontend/src/hooks.ts index d473ce744b..15c8e2b6f3 100644 --- a/frontend/src/hooks.ts +++ b/frontend/src/hooks.ts @@ -1,3 +1,5 @@ +import type { Reroute } from '@sveltejs/kit' + /** @type {import('@sveltejs/kit').Handle} */ export async function handle({ event, resolve }) { const response = await resolve(event, { @@ -6,3 +8,11 @@ export async function handle({ event, resolve }) { return response } + +export const reroute: Reroute = ({ url }) => { + const match = url.pathname.match(/^\/w\/([^/]+)(\/.*)?$/) + if (match) { + return match[2] || '/' + } + return url.pathname +} diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index 197275fbc1..a0e0a38134 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -40,7 +40,7 @@ import MultiSelect from './select/MultiSelect.svelte' import { safeSelectItems } from './select/utils.svelte' import S3ArgInput from './common/fileUpload/S3ArgInput.svelte' - import { base } from '$lib/base' + import { wsBase } from '$lib/workspaceUrl' import { workspaceStore } from '$lib/stores' import { getJsonSchemaFromResource } from './schema/jsonSchemaResource.svelte' import AIProviderPicker from './AIProviderPicker.svelte' @@ -568,7 +568,7 @@ {#if value && typeof value == 'string' && value?.startsWith('$res:')} Linked to resource {value.slice(5)} diff --git a/frontend/src/lib/components/CompareWorkspaces.svelte b/frontend/src/lib/components/CompareWorkspaces.svelte index 6905ed6931..dbd14d3ad2 100644 --- a/frontend/src/lib/components/CompareWorkspaces.svelte +++ b/frontend/src/lib/components/CompareWorkspaces.svelte @@ -57,7 +57,7 @@ import type { TriggerKind } from './triggers' import { triggerDisplayNamesMap, triggerKindToTriggerType } from './triggers/utils' import { getEmailAddress, getEmailDomain } from './triggers/email/utils' - import { base } from '$lib/base' + import { wsBase } from '$lib/workspaceUrl' import ToggleButtonGroup from './common/toggleButton-v2/ToggleButtonGroup.svelte' import ToggleButton from './common/toggleButton-v2/ToggleButton.svelte' @@ -683,7 +683,7 @@ function getTriggerHref(triggerKind: TriggerKind): string | undefined { const pagePath = triggerKindToPagePath[triggerKind] - return pagePath ? `${base}${pagePath}` : undefined + return pagePath ? `${$wsBase}${pagePath}` : undefined } // Fetch triggers when workspace is available diff --git a/frontend/src/lib/components/DeployWorkspace.svelte b/frontend/src/lib/components/DeployWorkspace.svelte index 9f1fd71146..c82151ff53 100644 --- a/frontend/src/lib/components/DeployWorkspace.svelte +++ b/frontend/src/lib/components/DeployWorkspace.svelte @@ -1,6 +1,6 @@ import { goto } from '$lib/navigation' - import { base } from '$lib/base' + import { wsBase } from '$lib/workspaceUrl' import Dropdown from '$lib/components/DropdownV2.svelte' import type MoveDrawer from '$lib/components/MoveDrawer.svelte' import ScheduleEditor from '$lib/components/triggers/schedules/ScheduleEditor.svelte' @@ -120,8 +120,8 @@ aiId={`script-run-button-${script.path}`} aiDescription={`Button to access the form to run the script ${script.summary ?? script.path}`} href={script.draft_only || (script.auto_kind === 'lib' && script.kind !== 'preprocessor') - ? `${base}/scripts/edit/${script.path}` - : `${base}/scripts/get/${script.hash}?workspace=${$workspaceStore}`} + ? `${$wsBase}/scripts/edit/${script.path}` + : `${$wsBase}/scripts/get/${script.hash}`} kind="script" {marked} path={script.path} @@ -182,7 +182,7 @@ wrapperClasses="w-20" unifiedSize="md" startIcon={{ icon: Pen }} - href="{base}/scripts/edit/{script.path}" + href="{$wsBase}/scripts/edit/{script.path}" > Edit @@ -264,7 +264,7 @@ { displayName: 'Duplicate/Fork', icon: GitFork, - href: `${base}/scripts/add?template=${script.path}`, + href: `${$wsBase}/scripts/add?template=${script.path}`, disabled: !showEditButton, hide: $userStore?.operator }, @@ -299,7 +299,7 @@ { displayName: 'View runs', icon: List, - href: `${base}/runs/${script.path}` + href: `${$wsBase}/runs/${script.path}` }, { displayName: 'Versions', @@ -311,7 +311,7 @@ { displayName: 'Audit logs', icon: Eye, - href: `${base}/audit_logs?resource=${script.path}`, + href: `${$wsBase}/audit_logs?resource=${script.path}`, hide: $userStore?.operator }, { @@ -431,7 +431,7 @@ openDetails on:openDetails={(e) => { if (script) { - goto(`/scripts/get/${e.detail.version}?workspace=${$workspaceStore}`) + goto(`/scripts/get/${e.detail.version}`) } versionsDrawerOpen = false }} diff --git a/frontend/src/lib/components/flows/CreateActionsApp.svelte b/frontend/src/lib/components/flows/CreateActionsApp.svelte index 5cc0df1502..51d67a6057 100644 --- a/frontend/src/lib/components/flows/CreateActionsApp.svelte +++ b/frontend/src/lib/components/flows/CreateActionsApp.svelte @@ -1,6 +1,5 @@ diff --git a/frontend/src/lib/components/flows/CreateActionsFlow.svelte b/frontend/src/lib/components/flows/CreateActionsFlow.svelte index 73f8cfedba..c4eb6af7f2 100644 --- a/frontend/src/lib/components/flows/CreateActionsFlow.svelte +++ b/frontend/src/lib/components/flows/CreateActionsFlow.svelte @@ -1,6 +1,5 @@ diff --git a/frontend/src/lib/components/preview/FlowPreviewStatus.svelte b/frontend/src/lib/components/preview/FlowPreviewStatus.svelte index 68587fbf24..6e4170ed48 100644 --- a/frontend/src/lib/components/preview/FlowPreviewStatus.svelte +++ b/frontend/src/lib/components/preview/FlowPreviewStatus.svelte @@ -1,6 +1,6 @@