import type { Metadata } from "next";
import { headers } from "next/headers";
import { auth } from "@/lib/auth/server";
import { db, users, eq } from "@epicure/db";
import { SettingsForm } from "@/components/settings/settings-form";

export const metadata: Metadata = { title: "Profile – Settings" };

export default async function SettingsPage() {
  const session = await auth.api.getSession({ headers: await headers() });
  if (!session) return null;

  const dbUser = await db.query.users.findFirst({
    where: eq(users.id, session.user.id),
    columns: { bio: true, privateBio: true },
  });

  return (
    <SettingsForm
      user={{
        name: session.user.name,
        email: session.user.email,
        image: session.user.image ?? null,
        locale: (session.user as { locale?: string }).locale ?? "en",
        bio: dbUser?.bio ?? null,
        privateBio: dbUser?.privateBio ?? null,
      }}
    />
  );
}
