import { Box, Typography } from '@mui/material'
import { AssistantActionCards } from './AssistantActionCards'
import type { AssistantMessage } from '../../domain/assistant'
import { DS_ACCENT, DS_SLATE } from '../../lib/ds'
function MessageBubble({ message }: { message: AssistantMessage }) {
const isUser = message.role === 'user'
return (
{!isUser && (
AI
)}
{/* Bubble */}
$1')
.replace(/\n/g, '
'),
}}
/>
{/* Metadata */}
{!isUser && (message.confidence !== undefined || (message.sources && message.sources.length > 0)) && (
{message.confidence !== undefined && (
Konfidenz: {Math.round(message.confidence * 100)}%
)}
{message.sources?.map(s => (
{s}
))}
)}
{/* Timestamp */}
{new Date(message.createdAt).toLocaleTimeString('de-CH', { timeStyle: 'short' })}
)
}
interface Props {
messages: AssistantMessage[]
}
export function AssistantMessageList({ messages }: Props) {
return (
{messages.map((msg) => (
{msg.role === 'assistant' && msg.actions && msg.actions.length > 0 && (
)}
))}
)
}