import { cn } from '@/lib/utils'
import type { ChatMessage, MessageSegment } from './types'
// 渲染单个消息段
export function RenderMessageSegment({ segment }: { segment: MessageSegment }) {
switch (segment.type) {
case 'text':
return {String(segment.data)}
case 'image':
case 'emoji':
return (
{
// 图片加载失败时显示占位符
const target = e.target as HTMLImageElement
target.style.display = 'none'
target.parentElement?.insertAdjacentHTML(
'beforeend',
`[${segment.type === 'emoji' ? '表情包' : '图片'}加载失败]`
)
}}
/>
)
case 'voice':
return (