import { auth } from "@/auth";
import { prisma } from "@/lib/prisma";
import { redirect } from "next/navigation";
import ProfileClient from "./profile-client";

export const dynamic = "force-dynamic";

export default async function ProfilePage() {
  const session = await auth();
  if (!session?.user?.id) return redirect("/login");

  const userId = session.user.id;

  const staff = await prisma.staff.findUnique({
    where: { id: userId },
    include: {
      payslips: {
        orderBy: { year: 'desc' }
      },
      receivedMessages: {
        include: { sender: { select: { fullName: true, role: true } } },
        orderBy: { createdAt: 'desc' }
      },
      sentMessages: {
        include: { receiver: { select: { fullName: true, role: true } } },
        orderBy: { createdAt: 'desc' }
      }
    }
  });

  if (!staff) return redirect("/login");

  const allStaff = await prisma.staff.findMany({
    where: { id: { not: userId }, isActive: true },
    select: { id: true, fullName: true, role: true }
  });

  return (
    <ProfileClient 
      staff={staff} 
      allStaff={allStaff} 
    />
  );
}
