/** * NursingLogsBlock Component * E5.S3: Dagnotities gemarkeerd voor overdracht */ import { ClipboardList, Clock, Pill, Utensils, User, AlertTriangle, FileText, CheckCircle2 } from 'lucide-react'; import type { NursingLog } from '@/lib/types/nursing-log'; import type { NursingLogCategory } from '@/lib/types/nursing-log'; interface NursingLogsBlockProps { logs: NursingLog[]; } const CATEGORY_CONFIG: Record = { medicatie: { label: 'Medicatie', icon: , bgColor: 'bg-blue-100', textColor: 'text-blue-700', }, adl: { label: 'ADL', icon: , bgColor: 'bg-green-100', textColor: 'text-green-700', }, gedrag: { label: 'Gedrag', icon: , bgColor: 'bg-purple-100', textColor: 'text-purple-700', }, incident: { label: 'Incident', icon: , bgColor: 'bg-red-100', textColor: 'text-red-700', }, observatie: { label: 'Observatie', icon: , bgColor: 'bg-slate-100', textColor: 'text-slate-700', }, }; function formatTime(datetime: string): string { return new Date(datetime).toLocaleTimeString('nl-NL', { hour: '2-digit', minute: '2-digit', }); } export function NursingLogsBlock({ logs }: NursingLogsBlockProps) { // Filter logs marked for handover const markedLogs = logs.filter(log => log.include_in_handover); const incidentCount = markedLogs.filter(log => log.category === 'incident').length; return (
{/* Header */}

Dagnotities

{markedLogs.length} gemarkeerd voor overdracht

{incidentCount > 0 && ( {incidentCount} incident{incidentCount > 1 ? 'en' : ''} )}
{/* Content */} {markedLogs.length === 0 ? (

Geen dagnotities gemarkeerd voor overdracht

{logs.length > 0 && (

{logs.length} notitie{logs.length > 1 ? 's' : ''} niet gemarkeerd

)}
) : (
{markedLogs.map((log) => { const config = CATEGORY_CONFIG[log.category as NursingLogCategory] || CATEGORY_CONFIG.observatie; return (
{/* Log header */}
{config.icon} {config.label} Overdracht
{formatTime(log.timestamp)}
{/* Log content */}

{log.content}

); })}
)} {/* Footer with total count */} {logs.length > markedLogs.length && (

+ {logs.length - markedLogs.length} andere notitie{logs.length - markedLogs.length > 1 ? 's' : ''} vandaag (niet gemarkeerd)

)}
); }