fix: code block unmount issue

This commit is contained in:
Timothy J. Baek 2024-01-22 04:14:07 -08:00
parent 917ab08f5c
commit 52e7684ff4
2 changed files with 330 additions and 326 deletions

View file

@ -20,11 +20,12 @@
$: highlightedCode = code ? hljs.highlightAuto(code, hljs.getLanguage(lang)?.aliases).value : '';
</script>
{#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
>
@ -34,3 +35,4 @@
class="language-{lang} rounded-t-none whitespace-pre">{@html highlightedCode || code}</code
></pre>
</div>
{/if}

View file

@ -154,6 +154,7 @@
});
</script>
{#key message.id}
<div class=" flex w-full message-{message.id}">
<ProfileImage src={modelfiles[message.model]?.imageUrl ?? '/favicon.png'} />
@ -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,
@ -502,3 +503,4 @@
{/if}
</div>
</div>
{/key}