Files
DetnalCare/app/(main)/patient/settings/page.tsx
Iliyan Angelov 39077550ef Dental Care
2025-11-16 14:29:51 +02:00

45 lines
1.1 KiB
TypeScript

import { requireAuth } from "@/lib/auth-session/auth-server";
import { redirect } from "next/navigation";
import { UserSettingsContent } from "@/components/user/settings-content";
import { prisma } from "@/lib/types/prisma";
import { DashboardLayout } from "@/components/layout/dashboard-layout";
// Force dynamic rendering since this page uses authentication (headers)
export const dynamic = "force-dynamic";
export default async function UserSettingsPage() {
const session = await requireAuth();
if (session.user.role !== "patient") {
redirect("/");
}
// Fetch full user data
const user = await prisma.user.findUnique({
where: { id: session.user.id },
select: {
id: true,
name: true,
email: true,
phone: true,
image: true,
dateOfBirth: true,
address: true,
role: true,
},
});
if (!user) {
redirect("/sign-in");
}
return (
<DashboardLayout
user={{ ...user, role: user.role || "patient" }}
role="patient"
>
<UserSettingsContent user={{ ...user, role: user.role || "patient" }} />
</DashboardLayout>
);
}