dify/web/app/components/base/chat/chat/answer/basic-content.tsx
yyh af7d5e60b4
feat(ui): scaffold @langgenius/dify-ui and migrate design tokens (#35256)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-15 13:11:20 +00:00

46 lines
1.1 KiB
TypeScript

import type { FC } from 'react'
import type { ChatItem } from '../../types'
import { cn } from '@langgenius/dify-ui/cn'
import { memo } from 'react'
import { Markdown } from '@/app/components/base/markdown'
type BasicContentProps = {
item: ChatItem
}
const BasicContent: FC<BasicContentProps> = ({
item,
}) => {
const {
annotation,
content,
} = item
if (annotation?.logAnnotation) {
return (
<Markdown
content={annotation?.logAnnotation.content || ''}
data-testid="basic-content-markdown"
/>
)
}
// Preserve Windows UNC paths and similar backslash-heavy strings by
// wrapping them in inline code so Markdown renders backslashes verbatim.
let displayContent = content
if (typeof content === 'string' && /^\\\\\S.*/.test(content) && !/^`.*`$/.test(content)) {
displayContent = `\`${content}\``
}
return (
<Markdown
className={cn(
item.isError && 'text-[#F04438]!',
)}
content={displayContent}
data-testid="basic-content-markdown"
/>
)
}
export default memo(BasicContent)