import { Box, Typography } from '@mui/material' import { AssistantActionCards } from './AssistantActionCards' import type { AssistantMessage } from '../../domain/assistant' 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 && ( )} ))} ) }