forked from open-webui/open-webui
fix: code block unmount issue
This commit is contained in:
parent
917ab08f5c
commit
52e7684ff4
2 changed files with 330 additions and 326 deletions
|
@ -20,11 +20,12 @@
|
|||
$: highlightedCode = code ? hljs.highlightAuto(code, hljs.getLanguage(lang)?.aliases).value : '';
|
||||
</script>
|
||||
|
||||
<div class="mb-4">
|
||||
{#if code}
|
||||
<div class="mb-4">
|
||||
<div
|
||||
class="flex justify-between bg-[#202123] text-white text-xs px-4 pt-1 pb-0.5 rounded-t-lg overflow-x-auto"
|
||||
>
|
||||
<div class="p-1">{lang}</div>
|
||||
<div class="p-1">{@html lang}</div>
|
||||
<button class="copy-code-button bg-none border-none p-1" on:click={copyCode}
|
||||
>{copied ? 'Copied' : 'Copy Code'}</button
|
||||
>
|
||||
|
@ -33,4 +34,5 @@
|
|||
<pre class=" rounded-b-lg hljs p-4 px-5 overflow-x-auto rounded-t-none"><code
|
||||
class="language-{lang} rounded-t-none whitespace-pre">{@html highlightedCode || code}</code
|
||||
></pre>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
|
|
@ -154,7 +154,8 @@
|
|||
});
|
||||
</script>
|
||||
|
||||
<div class=" flex w-full message-{message.id}">
|
||||
{#key message.id}
|
||||
<div class=" flex w-full message-{message.id}">
|
||||
<ProfileImage src={modelfiles[message.model]?.imageUrl ?? '/favicon.png'} />
|
||||
|
||||
<div class="w-full overflow-hidden">
|
||||
|
@ -240,9 +241,9 @@
|
|||
{:else}
|
||||
{#each tokens as token}
|
||||
{#if token.type === 'code'}
|
||||
<!-- {token.text} -->
|
||||
<CodeBlock lang={token.lang} code={token.text} />
|
||||
{:else}
|
||||
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
||||
{@html marked.parse(token.raw, {
|
||||
...defaults,
|
||||
gfm: true,
|
||||
|
@ -501,4 +502,5 @@
|
|||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/key}
|
||||
|
|
Loading…
Reference in a new issue