diff --git a/apps/desktop/src/lib/cmds/ext.ts b/apps/desktop/src/lib/cmds/ext.ts index a44594f..0d6887c 100644 --- a/apps/desktop/src/lib/cmds/ext.ts +++ b/apps/desktop/src/lib/cmds/ext.ts @@ -35,14 +35,21 @@ export async function createExtSupportDir(extPath: string) { } } +function setTemplateExtParams(extPath: string, cmdName: string) { + localStorage.setItem( + "kunkun-template-ext-params", + JSON.stringify({ extPath, cmdName } satisfies KunkunTemplateExtParams) + ) +} + export async function onTemplateUiCmdSelect( ext: ExtPackageJsonExtra, cmd: TemplateUiCmd, { isDev, hmr }: { isDev: boolean; hmr: boolean } ) { await createExtSupportDir(ext.extPath) - // console.log("onTemplateUiCmdSelect", ext, cmd, isDev, hmr) const url = `/app/extension/ui-worker?extPath=${encodeURIComponent(ext.extPath)}&cmdName=${encodeURIComponent(cmd.name)}` + setTemplateExtParams(ext.extPath, cmd.name) if (cmd.window) { const winLabel = await winExtMap.registerExtensionWithWindow({ extPath: ext.extPath }) localStorage.setItem( @@ -101,6 +108,13 @@ export async function onHeadlessCmdSelect( await workerAPI.load() } +function setIframeExtParams(extPath: string, url: string) { + localStorage.setItem( + "kunkun-iframe-ext-params", + JSON.stringify({ url, extPath } satisfies KunkunIframeExtParams) + ) +} + export async function onCustomUiCmdSelect( ext: ExtPackageJsonExtra, cmd: CustomUiCmd, @@ -119,6 +133,8 @@ export async function onCustomUiCmdSelect( } let url2 = `/app/extension/ui-iframe?url=${encodeURIComponent(url)}&extPath=${encodeURIComponent(ext.extPath)}` // url2 = `/dev?url=${encodeURIComponent(url)}&extPath=${encodeURIComponent(ext.extPath)}` + + setIframeExtParams(ext.extPath, url) if (cmd.window) { const winLabel = await winExtMap.registerExtensionWithWindow({ extPath: ext.extPath, @@ -128,6 +144,7 @@ export async function onCustomUiCmdSelect( const addr = await spawnExtensionFileServer(winLabel) const newUrl = `http://${addr}` url2 = `/app/extension/ui-iframe?url=${encodeURIComponent(newUrl)}&extPath=${encodeURIComponent(ext.extPath)}` + setIframeExtParams(ext.extPath, newUrl) } localStorage.setItem( "kunkun-iframe-ext-params", @@ -149,6 +166,7 @@ export async function onCustomUiCmdSelect( console.log("Extension file server address: ", addr) const newUrl = `http://${addr}` url2 = `/app/extension/ui-iframe?url=${encodeURIComponent(newUrl)}&extPath=${encodeURIComponent(ext.extPath)}` + setIframeExtParams(ext.extPath, newUrl) } goto(i18n.resolveRoute(url2)) } diff --git a/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte b/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte index 3b2e6f3..4beb019 100644 --- a/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte +++ b/apps/desktop/src/routes/app/extension/ui-worker/+page.svelte @@ -361,6 +361,7 @@ {:else if loaded && formViewContent !== undefined} ) => { console.log("formData", formData) diff --git a/apps/desktop/src/routes/app/extension/ui-worker/+page.ts b/apps/desktop/src/routes/app/extension/ui-worker/+page.ts index a3ccf9b..a37493e 100644 --- a/apps/desktop/src/routes/app/extension/ui-worker/+page.ts +++ b/apps/desktop/src/routes/app/extension/ui-worker/+page.ts @@ -20,7 +20,7 @@ export const load: PageLoad = async ({ url }) => { toast.error("Invalid extension path or url") return svError(404, "Invalid extension path or url") } - localStorage.removeItem("kunkun-template-ext-params") + const parsed = v.safeParse(KunkunTemplateExtParams, JSON.parse(rawKunkunTemplateExtParams)) if (!parsed.success) { toast.error("Fail to parse extension params from local storage", { diff --git a/packages/ui/src/components/extension/templates/form-view.svelte b/packages/ui/src/components/extension/templates/form-view.svelte index 3954e81..eb17e27 100644 --- a/packages/ui/src/components/extension/templates/form-view.svelte +++ b/packages/ui/src/components/extension/templates/form-view.svelte @@ -1,25 +1,33 @@ +{#if pbar && pbar > 0} + +{/if}

{formViewContent.title}

+ {#if formViewContent.description} +

{formViewContent.description}

+ {/if}
diff --git a/packages/ui/src/components/extension/templates/list-view.svelte b/packages/ui/src/components/extension/templates/list-view.svelte index a513ddb..5d8c863 100644 --- a/packages/ui/src/components/extension/templates/list-view.svelte +++ b/packages/ui/src/components/extension/templates/list-view.svelte @@ -131,7 +131,7 @@ {/snippet} {#if pbar} - + {/if}