diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte
index 305aa84ff..d0dcc8973 100644
--- a/src/lib/components/chat/Messages/CodeBlock.svelte
+++ b/src/lib/components/chat/Messages/CodeBlock.svelte
@@ -270,6 +270,10 @@ __builtins__.input = input`);
render();
}
+ $: if (lang) {
+ dispatch('code', { lang });
+ }
+
onMount(async () => {
console.log('codeblock', lang, code);
if (document.documentElement.classList.contains('dark')) {
diff --git a/src/lib/components/chat/Messages/ContentRenderer.svelte b/src/lib/components/chat/Messages/ContentRenderer.svelte
index 5c30c4586..ea612034c 100644
--- a/src/lib/components/chat/Messages/ContentRenderer.svelte
+++ b/src/lib/components/chat/Messages/ContentRenderer.svelte
@@ -21,7 +21,7 @@
await tick();
// Check if the event target is within the content container
- if (!contentContainerElement.contains(event.target)) return;
+ if (!contentContainerElement?.contains(event.target)) return;
let selection = window.getSelection();
@@ -72,6 +72,7 @@
}}
on:code={(e) => {
const { lang } = e.detail;
+ console.log('code', lang);
if (lang === 'html') {
showArtifacts.set(true);
showControls.set(true);
diff --git a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte
index be86ff4f1..7fc61c327 100644
--- a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte
+++ b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte
@@ -33,11 +33,6 @@
{:else if token.type === 'code'}
- {#if token.lang === 'html'}
- {dispatch('code', {
- lang: token.lang
- })}
- {/if}
{#if token.raw.includes('```')}
{
+ dispatch('code', e.detail);
+ }}
on:save={(e) => {
dispatch('update', {
raw: token.raw,
diff --git a/src/lib/components/common/CodeEditor.svelte b/src/lib/components/common/CodeEditor.svelte
index 38028626b..8c79ac303 100644
--- a/src/lib/components/common/CodeEditor.svelte
+++ b/src/lib/components/common/CodeEditor.svelte
@@ -49,10 +49,7 @@
let editorLanguage = new Compartment();
const getLang = async () => {
- console.log(languages);
-
const language = languages.find((l) => l.alias.includes(lang));
-
return await language?.load();
};