'use client'; /** * Chat Panel (v3.0) * * Chat interface met message list en input. * Toont chat messages met verschillende types (user, assistant, system, error). * * Epic: E2 (Chat Panel & Messages) * Story: E2.S2 (ChatMessage component) - testing */ import { ChatMessage } from './chat-message'; import { useSwiftStore } from '@/stores/swift-store'; export function ChatPanel() { const chatMessages = useSwiftStore((s) => s.chatMessages); // Demo messages for testing E2.S2 (will be removed in E2.S3) const demoMessages = chatMessages.length === 0 ? [ { id: '1', type: 'system' as const, content: 'Welkom bij Swift Medical Scribe v3.0', timestamp: new Date(), }, { id: '2', type: 'user' as const, content: 'Notitie voor Jan: medicatie gegeven om 14:00', timestamp: new Date(), }, { id: '3', type: 'assistant' as const, content: 'Ik begrijp dat je een notitie wilt maken voor Jan over medicatie. Ik open een dagnotitie voor je waarin je dit kunt vastleggen.', timestamp: new Date(), }, { id: '4', type: 'error' as const, content: 'Er ging iets mis met de verbinding. Probeer het opnieuw.', timestamp: new Date(), }, ] : chatMessages; const hasMessages = demoMessages.length > 0; return (
{/* Chat messages area */}
{hasMessages ? (
{demoMessages.map((message) => ( ))}
) : (
💬

Welkom bij Swift Medical Scribe

Typ of spreek wat je wilt doen...

Voorbeelden:

• “Notitie voor Jan: medicatie gegeven”

• “Zoek Marie van den Berg”

• “Maak overdracht voor deze dienst”

)}
{/* Chat input - placeholder */}

E2.S2 compleet: ChatMessage component werkend ✓

); }