import type { Metadata } from "next";
import Container from "@/components/ui/Container";
import { ButtonLink } from "@/components/ui/Button";
import BlockRenderer from "@/components/blocks/BlockRenderer";
import { getPageBySlug } from "@/lib/api";

export const revalidate = 300; // ISR: re-fetch content every 5 minutes

export async function generateMetadata(): Promise<Metadata> {
  const page = await getPageBySlug("home");
  if (!page?.metaTitle && !page?.metaDescription) return {};
  return { title: page.metaTitle || undefined, description: page.metaDescription || undefined };
}

export default async function HomePage() {
  const page = await getPageBySlug("home");

  if (page?.layoutJson) {
    return <BlockRenderer blocks={page.layoutJson.blocks} />;
  }

  // CMS page not reachable/published yet — minimal static fallback so the
  // site never renders blank.
  return (
    <section id="top" className="flex min-h-[70vh] items-center bg-ink text-white">
      <Container className="text-center">
        <span className="text-xs tracking-[0.14em] uppercase text-white/60">
          501(c)(3) NONPROFIT VENTURE STUDIO &amp; THINK TANK
        </span>
        <h1 className="mt-4 font-heading font-extrabold text-4xl md:text-5xl">
          Catalyzing equity, innovation, and economic mobility for underserved communities.
        </h1>
        <p className="mt-6 max-w-xl mx-auto text-white/70 leading-relaxed">
          NSP Foundation is a 501(c)(3) nonprofit venture studio and think tank dedicated to
          dismantling systemic economic barriers through fiscal sponsorship, entrepreneurial
          incubation, and community-centered programs.
        </p>
        <div className="mt-8 flex justify-center gap-4">
          <ButtonLink href="/#connect">Partner With Us</ButtonLink>
        </div>
      </Container>
    </section>
  );
}
