31 lines
930 B
TypeScript
31 lines
930 B
TypeScript
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,
|
||
}}
|
||
/>
|
||
);
|
||
}
|