"use client"; import Link from "next/link"; import { formatDistanceToNow, parseISO } from "date-fns"; import { de } from "date-fns/locale"; import { FileText, Scale, Calendar, Clock, MessageSquare, ChevronRight, } from "lucide-react"; import type { RecentActivity } from "@/lib/types"; const EVENT_ICONS: Record = { status_changed: Scale, deadline_created: Clock, appointment_created: Calendar, document_uploaded: FileText, note_added: MessageSquare, }; interface Props { activities: RecentActivity[]; } export function RecentActivityList({ activities }: Props) { const safe = Array.isArray(activities) ? activities : []; if (safe.length === 0) { return null; } return (

Letzte Aktivität

{safe.map((activity) => { const Icon = EVENT_ICONS[activity.event_type ?? ""] ?? FileText; const timeAgo = activity.created_at ? formatDistanceToNow(parseISO(activity.created_at), { addSuffix: true, locale: de, }) : ""; return (

{activity.title}

{activity.case_number} {timeAgo && ( <> · {timeAgo} )}
); })}
); }