'use client'; /** * Delete Patient Button Component * E3.S3: Delete patient with confirmation dialog */ import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Trash2, AlertTriangle, Loader2 } from 'lucide-react'; import { deletePatient } from '../actions'; interface DeletePatientButtonProps { patientId: string; patientName: string; } export function DeletePatientButton({ patientId, patientName }: DeletePatientButtonProps) { const router = useRouter(); const [showConfirm, setShowConfirm] = useState(false); const [isDeleting, setIsDeleting] = useState(false); const [error, setError] = useState(null); const handleDelete = async () => { setIsDeleting(true); setError(null); try { await deletePatient(patientId); router.push('/epd/patients'); router.refresh(); } catch (err) { setError(err instanceof Error ? err.message : 'Fout bij verwijderen van patiënt'); setIsDeleting(false); } }; if (!showConfirm) { return (

Gevaarlijke zone

Het verwijderen van een patiënt kan niet ongedaan worden gemaakt. Alle gekoppelde gegevens (intake, diagnoses, behandelplannen) worden ook verwijderd.

); } return (
{error && (

{error}

)}

Weet u zeker dat u deze patiënt wilt verwijderen?

U staat op het punt om {patientName} permanent te verwijderen.

Dit verwijdert:

  • Alle persoonlijke gegevens
  • Alle screening en intake informatie
  • Alle diagnoses en observaties
  • Alle behandelplannen en doelen
  • Alle documenten en rapportages

Deze actie kan niet ongedaan worden gemaakt!

); }