diff --git a/frontend/src/lib/components/DisplayResult.svelte b/frontend/src/lib/components/DisplayResult.svelte index ae6bab9fce..b96a8a44bd 100644 --- a/frontend/src/lib/components/DisplayResult.svelte +++ b/frontend/src/lib/components/DisplayResult.svelte @@ -45,7 +45,7 @@ const dispatch = createEventDispatcher() - let resultKind: + type ResultKind = | 'json' | 'table-col' | 'table-row' @@ -66,7 +66,8 @@ | 'map' | 'nondisplayable' | 'pdf' - | undefined = $state() + | undefined + let resultKind: ResultKind = $state() let hasBigInt = $state(false) @@ -280,6 +281,29 @@ return 'markdown' } else if (isTableCol(result, keys)) { return 'table-col' + } else if (keys.length < 1000 && keys.includes('wm_renderer')) { + const renderer = result['wm_renderer'] + if (typeof renderer === 'string') { + if ( + [ + 'json', + 'html', + 'png', + 'file', + 'jpeg', + 'gif', + 'svg', + 'filename', + 's3object', + 'plain', + 'markdown', + 'map', + 'pdf' + ].includes(renderer) + ) { + return renderer as ResultKind + } + } } } } catch (err) {} diff --git a/frontend/src/lib/components/apps/components/display/AppMenu.svelte b/frontend/src/lib/components/apps/components/display/AppMenu.svelte index d484e6708c..cc530cc543 100644 --- a/frontend/src/lib/components/apps/components/display/AppMenu.svelte +++ b/frontend/src/lib/components/apps/components/display/AppMenu.svelte @@ -85,6 +85,8 @@ $effect(() => { resolvedConfig.afterIcon && afterIconComponent && untrack(() => handleAfterIcon()) }) + + let menu: Menu | undefined = $state() @@ -113,6 +115,7 @@ {#snippet children({ createMenu })}