Browse Source

refac: code rendering

Timothy J. Baek 9 months ago
parent
commit
c3862bc387
1 changed files with 18 additions and 14 deletions
  1. 18 14
      src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte

+ 18 - 14
src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte

@@ -33,20 +33,24 @@
 			<MarkdownInlineTokens id={`${id}-${tokenIdx}-h`} tokens={token.tokens} />
 		</svelte:element>
 	{:else if token.type === 'code'}
-		<CodeBlock
-			id={`${id}-${tokenIdx}`}
-			{token}
-			lang={token?.lang ?? ''}
-			code={revertSanitizedResponseContent(token?.text ?? '')}
-			{save}
-			on:save={(e) => {
-				dispatch('update', {
-					raw: token.raw,
-					oldContent: token.text,
-					newContent: e.detail
-				});
-			}}
-		/>
+		{#if token.raw.includes('```')}
+			<CodeBlock
+				id={`${id}-${tokenIdx}`}
+				{token}
+				lang={token?.lang ?? ''}
+				code={revertSanitizedResponseContent(token?.text ?? '')}
+				{save}
+				on:save={(e) => {
+					dispatch('update', {
+						raw: token.raw,
+						oldContent: token.text,
+						newContent: e.detail
+					});
+				}}
+			/>
+		{:else}
+			{unescapeHtml(token.text)}
+		{/if}
 	{:else if token.type === 'table'}
 		<div class="scrollbar-hidden relative whitespace-nowrap overflow-x-auto max-w-full">
 			<table class="w-full">