page.tsx 929 octets
Newer Older
import { getServerSession } from "next-auth";
Adrien Delmastro's avatar
Adrien Delmastro a validé
import { authOptions } from "@/app/api/auth/[...nextauth]/route";
import prisma from "@/lib/global/globalPrisma";
import EditUserForm from "@/lib/components/user/userEditForm";

export default async function EditProfilePage() {
    const session = await getServerSession(authOptions);
    if (!session || !session.user) {
        return <div className="p-6 text-center">Veuillez vous connecter</div>;
    }
Adrien Delmastro's avatar
Adrien Delmastro a validé

    const isAdmin = session.user.role === "ADMIN";
    const user = await prisma.user.findUnique({
        where: { id: Number(session.user.id) },
    });
Adrien Delmastro's avatar
Adrien Delmastro a validé

    if (!user) {
        return <div className="p-6 text-center">Utilisateur introuvable</div>;
    }
Adrien Delmastro's avatar
Adrien Delmastro a validé

    const userIso = {
        ...user,
        dob: user.dob ? user.dob.toISOString() : "",
    };
Adrien Delmastro's avatar
Adrien Delmastro a validé

    // IMPORTANT: passe la valeur calculée
    return <EditUserForm user={userIso as any} isAdmin={isAdmin} />;
Adrien Delmastro's avatar
Adrien Delmastro a validé
}