🐛 Fix invalid format for code blocks in streaming bubble
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typebot.io/js",
|
"name": "@typebot.io/js",
|
||||||
"version": "0.2.71",
|
"version": "0.2.72",
|
||||||
"description": "Javascript library to display typebots on your website",
|
"description": "Javascript library to display typebots on your website",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { streamingMessage } from '@/utils/streamingMessageSignal'
|
|||||||
import { For, createEffect, createSignal } from 'solid-js'
|
import { For, createEffect, createSignal } from 'solid-js'
|
||||||
import { marked } from 'marked'
|
import { marked } from 'marked'
|
||||||
import domPurify from 'dompurify'
|
import domPurify from 'dompurify'
|
||||||
|
import { isNotEmpty } from '@typebot.io/lib'
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
streamingMessageId: string
|
streamingMessageId: string
|
||||||
@@ -22,12 +23,24 @@ export const StreamingBubble = (props: Props) => {
|
|||||||
if (streamingMessage()?.id !== props.streamingMessageId) return []
|
if (streamingMessage()?.id !== props.streamingMessageId) return []
|
||||||
setContent(
|
setContent(
|
||||||
streamingMessage()
|
streamingMessage()
|
||||||
?.content.split('\n\n')
|
?.content.split('```')
|
||||||
.map((line) =>
|
.map((block, index) => {
|
||||||
domPurify.sanitize(marked.parse(line), {
|
if (index % 2 === 0) {
|
||||||
ADD_ATTR: ['target'],
|
return block.split('\n\n').map((line) =>
|
||||||
})
|
domPurify.sanitize(marked.parse(line), {
|
||||||
) ?? []
|
ADD_ATTR: ['target'],
|
||||||
|
})
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
return [
|
||||||
|
domPurify.sanitize(marked.parse('```' + block + '```'), {
|
||||||
|
ADD_ATTR: ['target'],
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.flat()
|
||||||
|
.filter(isNotEmpty) ?? []
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typebot.io/nextjs",
|
"name": "@typebot.io/nextjs",
|
||||||
"version": "0.2.71",
|
"version": "0.2.72",
|
||||||
"description": "Convenient library to display typebots on your Next.js website",
|
"description": "Convenient library to display typebots on your Next.js website",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typebot.io/react",
|
"name": "@typebot.io/react",
|
||||||
"version": "0.2.71",
|
"version": "0.2.72",
|
||||||
"description": "Convenient library to display typebots on your React app",
|
"description": "Convenient library to display typebots on your React app",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user