import type { Metadata } from "next"
import { notFound } from "next/navigation"
import { villesData } from "../villes-data"
import VillePageClient from "./VillePageClient"

type Props = {
  params: { ville: string }
}

export async function generateMetadata({ params }: Props): Promise<Metadata> {
  const ville = villesData.find((v) => v.slug === params.ville)

  if (!ville) {
    return {
      title: "Ville non trouvée | DOGES",
      description: "La ville que vous recherchez n'est pas disponible.",
    }
  }

  return {
    title: `Gestion Locative à ${ville.nom} | DOGES`,
    description: `Confiez la gestion de votre bien immobilier à DOGES, votre administrateur de biens à ${ville.nom}. Services personnalisés et honoraires transparents.`,
    openGraph: {
      title: `Gestion Locative à ${ville.nom} | DOGES`,
      description: `Confiez la gestion de votre bien immobilier à DOGES, votre administrateur de biens à ${ville.nom}. Services personnalisés et honoraires transparents.`,
      url: `https://www.dogesadb.fr/services/gestion-locative-france/${ville.slug}`,
      siteName: "DOGES",
      locale: "fr_FR",
      type: "website",
    },
  }
}

export async function generateStaticParams() {
  return villesData.map((ville) => ({
    ville: ville.slug,
  }))
}

export default function VillePage({ params }: Props) {
  const villeInfo = villesData.find((v) => v.slug === params.ville)

  if (!villeInfo) {
    notFound()
  }

  return <VillePageClient villeInfo={villeInfo} />
}
