import type { Metadata } from "next";
import { notFound } from "next/navigation";
import { PersonScreen } from "@/components/PersonScreen";
import { getPerson } from "@/lib/data";

export async function generateMetadata({ params }: PageProps<"/persona/[id]">): Promise<Metadata> {
  const p = await getPerson((await params).id);
  return { title: p ? `${p.name} · AmiCibi` : "AmiCibi" };
}

export default async function PersonPage({ params, searchParams }: PageProps<"/persona/[id]">) {
  const { id } = await params;
  const { modifica } = await searchParams;
  const p = await getPerson(id);
  if (!p) notFound();
  return (
    <PersonScreen
      id={p.id}
      name={p.name}
      notes={p.notes}
      items={p.items}
      shareToken={p.shareToken}
      updatedBy={p.updatedBy}
      updatedAt={p.updatedAt.getTime()}
      startEditing={modifica === "1"}
    />
  );
}
