Files
test1/components/nova-sdk/message-list/message-item/user-interaction/InteractionWrapper.tsx
2026-03-20 07:33:46 +00:00

34 lines
943 B
TypeScript

import { memo } from 'react'
import { cn } from '@/utils/cn'
import { MarkdownContent } from '../../../task-panel/Preview/MarkdownPreview'
interface InteractionWrapperProps {
content?: string
isLatest?: boolean
className?: string
children: React.ReactNode
}
export const InteractionWrapper = memo(
({ content, children, className }: InteractionWrapperProps) => {
const trimmedContent = content?.trim()
return (
<div className={cn('mt-2 w-full', className)}>
<div className="relative rounded-r-lg border border-solid border-border/60 bg-card/90 py-2 pl-4 pr-3">
{/* 左侧主色竖条 */}
<div className="absolute left-0 top-0 bottom-0 w-1 bg-primary rounded-l-lg" />
{trimmedContent && (
<div className="mb-2">
<MarkdownContent content={trimmedContent} />
</div>
)}
{children}
</div>
</div>
)
},
)