import type { Metadata } from "next";

import { getWpPage } from "@/lib/wp/queries/page";
import { wpSeoToMetadata } from "@/lib/wp/seoToMetadata";
import type { WpPage } from "@/lib/wp/types";
import EstimationView from "./view-client";

const WP_URI = "/estimation";

async function fetchPage(): Promise<WpPage | null> {
  try {
    const page = await getWpPage(WP_URI);
    if (!page) console.warn(`[wp] page ${WP_URI} introuvable, fallback vue codée.`);
    return page;
  } catch (error) {
    console.error(`[wp] page ${WP_URI} indisponible, fallback vue codée :`, error);
    return null;
  }
}

export async function generateMetadata(): Promise<Metadata> {
  const page = await fetchPage();
  // Pas de métas historiques sur cette route : sans WP, comportement inchangé
  // (métadonnées héritées du layout).
  if (!page) return {};
  return wpSeoToMetadata(page.seo);
}

export default async function Page() {
  const page = await fetchPage();
  return <EstimationView sections={page?.sections?.sections ?? null} />;
}
