"use client"; import { useState } from "react"; import Link from "next/link"; import { Modal } from "./Modal"; import { submitContactMessage } from "@/app/actions/public"; export function ContactModalButton({ label, className, style, }: { label: string; className?: string; style?: React.CSSProperties; }) { const [open, setOpen] = useState(false); const [pending, setPending] = useState(false); const [done, setDone] = useState(false); const [error, setError] = useState(null); function close() { setOpen(false); setTimeout(() => { setDone(false); setError(null); }, 200); } async function onSubmit(e: React.FormEvent) { e.preventDefault(); setPending(true); setError(null); const res = await submitContactMessage(new FormData(e.currentTarget)); setPending(false); if (res.ok) setDone(true); else setError(res.error ?? "Une erreur est survenue."); } return ( <> {done ? (
✓

Message envoyé ! Nous vous répondrons dès que possible.

) : (

Une question, une suggestion ? Écrivez-nous.