import Link from "next/link"; import Navbar from "@/components/marketing/Navbar"; import Footer from "@/components/marketing/Footer"; import ScrollReveal from "@/components/animations/ScrollReveal"; import ContactForm from "@/components/marketing/ContactForm"; import { siteConfig } from "@/lib/site-config"; interface LocalSEOPageProps { ville: string; departement?: string; servicesPrincipaux: string[]; description: string; texteIntro: string; texteLocal: string; distanceMouchin?: string; } // Liens services statiques (évite toute inférence TypeScript complexe au niveau module) const SERVICE_LINKS: { label: string; href: string }[] = [ { label: "Construction de maison", href: "/construction-maison" }, { label: "Rénovation", href: "/renovation" }, { label: "Assainissement", href: "/assainissement" }, { label: "Création d'accès", href: "/creation-acces" }, { label: "Démolition", href: "/demolition" }, ]; function Arrow() { return ( ); } export default function LocalSEOPage({ ville, departement = "Nord (59)", servicesPrincipaux, description, texteIntro, texteLocal, distanceMouchin, }: LocalSEOPageProps) { const { phone, phoneRaw, zones } = siteConfig; // Paragraphes du texte local (séparés par double saut de ligne) const paragraphes = texteLocal.split(/\n\n+/).filter(Boolean); return (
{/* Hero */}
Nos services {departement}

Maçon &
{ville}

{description}

Devis gratuit {phone}
{/* Stats */}
{[ { val: "Gratuit", label: "Devis + déplacement" }, { val: "24h", label: "Délai de réponse" }, { val: distanceMouchin ?? "< 30km", label: "de notre siège" }, { val: "15+", label: "Ans d'expérience" }, ].map((s) => (
{s.val}
{s.label}
))}
{/* Services à cette ville */}
Nos prestations à {ville}

Services disponibles

{SERVICE_LINKS.map((s) => { const isPrimary = servicesPrincipaux.includes(s.label); return ( {s.label} ); })}
{/* Texte intro + local */}
Maçonnerie à {ville}

Votre maçon local
dans le Nord

{texteIntro}

{distanceMouchin && (

{distanceMouchin} de notre siège (Mouchin, 59310)

)} Prendre contact
{paragraphes.map((p, i) => (

{p}

))}
{/* Zone communes voisines */}
Zone d'intervention

On intervient aussi dans les communes voisines

{zones .filter((z) => z !== ville) .slice(0, 6) .map((z) => ( {z} ))}
{/* Contact split */}
Devis gratuit à {ville}

Votre projet
mérite le meilleur

Benoît Colin se déplace gratuitement à {ville} pour évaluer votre chantier et vous remettre un devis sous 24h.

{phone}
{["Devis gratuit & sans engagement", "Déplacement offert", "Réponse sous 24h"].map((item) => (
{item}
))}
); }