import { getServerSession } from "next-auth";
import { authOptions } from "@/lib/auth";
import { db } from "@/lib/db";
import { redirect } from "next/navigation";
import PerfilClient from "./PerfilClient";

export const dynamic = "force-dynamic";

export default async function PerfilPage() {
  const session = await getServerSession(authOptions);

  if (!session?.user?.email) {
    redirect("/signin");
  }

  const user = await db.query.user.findFirst({
    where: (u, { eq }) => eq(u.id, session.user.id),
    columns: {
      id: true,
      name: true,
      apellido: true,
      cedula: true,
      email: true,
      telefono: true,
      direccion: true,
      role: true
    }
  });

  if (!user) {
    redirect("/signin");
  }

  return (
    <div className="min-h-screen bg-gray-50 flex flex-col items-center py-12 px-4 sm:px-6 lg:px-8">
      <div className="w-full max-w-2xl space-y-8">
        <div>
          <h2 className="mt-6 text-center text-3xl font-extrabold text-gray-900">
            Mi Perfil
          </h2>
          <p className="mt-2 text-center text-sm text-gray-600">
            Actualiza tus datos personales y cambia tu contraseña.
          </p>
        </div>
        <PerfilClient user={user as any} />
      </div>
    </div>
  );
}
