diff --git a/src/lib/components/chat/Messages/ContentRenderer.svelte b/src/lib/components/chat/Messages/ContentRenderer.svelte index 72829ce64..5c30c4586 100644 --- a/src/lib/components/chat/Messages/ContentRenderer.svelte +++ b/src/lib/components/chat/Messages/ContentRenderer.svelte @@ -4,6 +4,7 @@ import Markdown from './Markdown.svelte'; import LightBlub from '$lib/components/icons/LightBlub.svelte'; + import { showArtifacts, showControls, showOverview } from '$lib/stores'; export let id; export let content; @@ -69,6 +70,13 @@ on:update={(e) => { dispatch('update', e.detail); }} + on:code={(e) => { + const { lang } = e.detail; + if (lang === 'html') { + showArtifacts.set(true); + showControls.set(true); + } + }} /> diff --git a/src/lib/components/chat/Messages/Markdown.svelte b/src/lib/components/chat/Messages/Markdown.svelte index 8c24358fa..1c627919a 100644 --- a/src/lib/components/chat/Messages/Markdown.svelte +++ b/src/lib/components/chat/Messages/Markdown.svelte @@ -42,5 +42,8 @@ on:update={(e) => { dispatch('update', e.detail); }} + on:code={(e) => { + dispatch('code', e.detail); + }} /> {/key} diff --git a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte index 411a13448..be86ff4f1 100644 --- a/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte +++ b/src/lib/components/chat/Messages/Markdown/MarkdownTokens.svelte @@ -33,6 +33,11 @@ {:else if token.type === 'code'} + {#if token.lang === 'html'} + {dispatch('code', { + lang: token.lang + })} + {/if} {#if token.raw.includes('```')}