"use client" import { useState } from "react" import { Loader2 } from "lucide-react" import { useListUnsubscribeMailto } from "@/lib/api/hooks/use-list-unsubscribe-mailto" import type { UnsubscribeAction } from "@/lib/mail-unsubscribe" export function UnsubscribeActionButton({ action, messageId, }: { action: UnsubscribeAction messageId: string }) { const sendMailto = useListUnsubscribeMailto() const [done, setDone] = useState(false) const [error, setError] = useState(null) if (action.kind === "http") { return ( Se désabonner de cet expéditeur ) } const handleClick = async () => { setError(null) try { await sendMailto.mutateAsync(messageId) setDone(true) } catch (e) { setError(e instanceof Error ? e.message : "Échec de l’envoi") } } if (done) { return ( Demande de désinscription envoyée à {action.mailto.address} ) } return ( {error ? {error} : null} ) }