This commit is contained in:
Timothy Jaeryang Baek
2026-04-08 14:55:04 -07:00
parent e51b661af0
commit cb0fd6ed41
@@ -103,6 +103,13 @@
$: isNotebook = getExt(selectedFile) === 'ipynb';
$: isCode = isCodeFile(selectedFile);
$: csvDelimiter = getExt(selectedFile) === 'tsv' ? '\t' : ',';
// For HTML files on system terminals (proxy URL), use path-based serving
// so the iframe can resolve relative CSS/JS/image references via cookie auth.
$: serveUrl =
isHtml && selectedFile && baseUrl && baseUrl.includes('/api/v1/terminals/')
? `${baseUrl}/files/serve/${selectedFile.replace(/^\//, '')}`
: null;
$: renderedHtml =
isMarkdown && fileContent
? DOMPurify.sanitize(marked.parse(fileContent, { async: false }) as string)
@@ -386,7 +393,19 @@
{/if}
</div>
{:else if fileContent !== null}
{#if isHtml && !showRaw}
{#if isHtml && !showRaw && serveUrl}
{#if overlay}
<div class="absolute top-0 left-0 right-0 bottom-0 z-10"></div>
{/if}
<iframe
src={serveUrl}
sandbox="allow-scripts allow-same-origin allow-downloads{($settings?.iframeSandboxAllowForms ?? false)
? ' allow-forms'
: ''}"
class="w-full h-full border-none bg-white"
title="HTML Preview"
/>
{:else if isHtml && !showRaw}
{#if overlay}
<div class="absolute top-0 left-0 right-0 bottom-0 z-10"></div>
{/if}