"use client"; import { useState } from "react"; import Button from "@/components/ui/Button"; import ScrollReveal from "@/components/animations/ScrollReveal"; export default function Contact() { const [submitted, setSubmitted] = useState(false); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [fields, setFields] = useState({ name: "", phone: "", metier: "", ville: "", }); const updateField = (key: keyof typeof fields, value: string) => setFields((prev) => ({ ...prev, [key]: value })); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(null); try { const res = await fetch("/api/contact", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(fields), }); if (!res.ok) { const data = await res.json(); throw new Error(data.error || "Erreur lors de l'envoi"); } setSubmitted(true); } catch (err) { setError(err instanceof Error ? err.message : "Erreur inattendue"); } finally { setLoading(false); } }; return (
{/* Left - Text */}
Audit gratuit

Prêt à sécuriser votre carnet de commandes ?

Je regarde votre situation actuelle sur internet (gratuitement) et je vous dis honnêtement ce qu’on peut améliorer.

    {[ "Audit de votre présence Google actuelle", "Analyse de vos concurrents locaux", "Plan d\u2019action concret et chiffré", "Réponse sous 24h", ].map((item, i) => (
  • {item}
  • ))}
{/* Right - Form */}
{submitted ? (

Demande envoyée !

Je vous recontacte sous 24h pour planifier votre audit.

) : ( <>

Réserver mon audit gratuit

Remplissez le formulaire, je vous recontacte rapidement.

updateField("name", e.target.value)} className="w-full px-4 py-3 bg-bg border border-border rounded-xl text-text text-sm placeholder:text-text-muted focus:border-orange focus:ring-1 focus:ring-orange outline-none transition-colors" />
updateField("phone", e.target.value)} className="w-full px-4 py-3 bg-bg border border-border rounded-xl text-text text-sm placeholder:text-text-muted focus:border-orange focus:ring-1 focus:ring-orange outline-none transition-colors" />
updateField("metier", e.target.value)} className="w-full px-4 py-3 bg-bg border border-border rounded-xl text-text text-sm placeholder:text-text-muted focus:border-orange focus:ring-1 focus:ring-orange outline-none transition-colors" />
updateField("ville", e.target.value)} className="w-full px-4 py-3 bg-bg border border-border rounded-xl text-text text-sm placeholder:text-text-muted focus:border-orange focus:ring-1 focus:ring-orange outline-none transition-colors" />
{error && (

{error}

)}

Gratuit · Sans engagement · Réponse sous 24h

)}
); }