diff --git a/src/lib/components/chat/Artifacts.svelte b/src/lib/components/chat/Artifacts.svelte index 848d81f635..188b476839 100644 --- a/src/lib/components/chat/Artifacts.svelte +++ b/src/lib/components/chat/Artifacts.svelte @@ -39,51 +39,51 @@ const codeBlockContents = message.content.match(/```[\s\S]*?```/g); let codeBlocks = []; + let htmlContent = ''; + let cssContent = ''; + let jsContent = ''; + if (codeBlockContents) { codeBlockContents.forEach((block) => { const lang = block.split('\n')[0].replace('```', '').trim().toLowerCase(); const code = block.replace(/```[\s\S]*?\n/, '').replace(/```$/, ''); codeBlocks.push({ lang, code }); }); - } - let htmlContent = ''; - let cssContent = ''; - let jsContent = ''; + codeBlocks.forEach((block) => { + const { lang, code } = block; - codeBlocks.forEach((block) => { - const { lang, code } = block; + if (lang === 'html') { + htmlContent += code + '\n'; + } else if (lang === 'css') { + cssContent += code + '\n'; + } else if (lang === 'javascript' || lang === 'js') { + jsContent += code + '\n'; + } + }); + } else { + const inlineHtml = message.content.match(/[\s\S]*?<\/html>/gi); + const inlineCss = message.content.match(/