'use client'; import { useState, useTransition } from 'react'; import { addScreeningActivity } from '../actions'; import type { ScreeningActivity } from '@/lib/types/screening'; import { Loader2, MessageSquare } from 'lucide-react'; import { format } from 'date-fns'; import { nl } from 'date-fns/locale'; interface ActivityLogProps { patientId: string; screeningId: string; activities: ScreeningActivity[]; } export function ActivityLog({ patientId, screeningId, activities }: ActivityLogProps) { const [text, setText] = useState(''); const [error, setError] = useState(null); const [isPending, startTransition] = useTransition(); const handleSubmit = () => { if (!text.trim()) { setError('Vul eerst een activiteit in.'); return; } setError(null); startTransition(async () => { try { await addScreeningActivity({ patientId, screeningId, text, }); setText(''); } catch (err) { console.error(err); setError(err instanceof Error ? err.message : 'Toevoegen mislukt'); } }); }; return (

Activiteitenlog

Chronologisch overzicht

{activities.length === 0 && (

Nog geen activiteiten. Voeg de eerste notitie toe om het dossier te starten.

)} {activities.map((activity) => (
{activity.created_by_name || 'Onbekende gebruiker'} {activity.created_at && ( {format(new Date(activity.created_at), 'd MMM yyyy HH:mm', { locale: nl })} )}

{activity.activity_text}

))}