From 39b2f547799a6d75012ca2595d532e87a3035e85 Mon Sep 17 00:00:00 2001 From: hugocasa Date: Thu, 18 Sep 2025 16:02:16 +0200 Subject: [PATCH] feat(frontend): allow publishing script to hub from list view (#6634) --- .../components/common/table/ScriptRow.svelte | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/common/table/ScriptRow.svelte b/frontend/src/lib/components/common/table/ScriptRow.svelte index 6d4e4704d9..15ecddb34a 100644 --- a/frontend/src/lib/components/common/table/ScriptRow.svelte +++ b/frontend/src/lib/components/common/table/ScriptRow.svelte @@ -8,7 +8,7 @@ import type ShareModal from '$lib/components/ShareModal.svelte' import { ScriptService, type Script, DraftService } from '$lib/gen' - import { userStore, workspaceStore } from '$lib/stores' + import { hubBaseUrlStore, userStore, workspaceStore } from '$lib/stores' import { createEventDispatcher } from 'svelte' import Badge from '../badge/Badge.svelte' @@ -34,13 +34,15 @@ Pen, Share, Trash, - History + History, + Globe2 } from 'lucide-svelte' import ScriptVersionHistory from '$lib/components/ScriptVersionHistory.svelte' import { Drawer, DrawerContent } from '..' import NoMainFuncBadge from '$lib/components/NoMainFuncBadge.svelte' import Tooltip from '$lib/components/Tooltip.svelte' import { getDeployUiSettings } from '$lib/components/home/deploy_ui' + import { scriptToHubUrl } from '$lib/hub' interface Props { script: Script & { canWrite: boolean; use_codebase: boolean } @@ -300,6 +302,25 @@ copyToClipboard(script.path) } }, + { + displayName: 'Publish to Hub', + icon: Globe2, + action: () => { + window.open( + scriptToHubUrl( + script.content, + script.summary, + script.description ?? '', + script.kind, + script.language, + script.schema, + script.lock ?? '', + $hubBaseUrlStore + ).toString(), + '_blank' + ) + } + }, { displayName: script.archived ? 'Unarchive' : 'Archive', icon: Archive,