"use client";
import { useEffect } from "react";
import { useAuth } from "@/contexts/AuthContext";
import { useRouter } from "next/navigation";
import { Loading } from "@/components/ui/Loading";
import toast from "react-hot-toast";

export default function AdminPage() {
  const { user, isAuthenticated, isLoading: authLoading } = useAuth();
  const router = useRouter();

  useEffect(() => {
    if (!authLoading && !isAuthenticated) {
      router.push("/login");
      return;
    }

    if (isAuthenticated && user?.role !== "ADMIN" && user?.role !== "admin") {
      router.push("/");
      toast.error("Accès refusé : rôle administrateur requis");
      return;
    }

    // Redirect to dashboard
    if (isAuthenticated && (user?.role === "ADMIN" || user?.role === "admin")) {
      router.push("/admin/dashboard");
      return;
    }
  }, [authLoading, isAuthenticated, user, router]);

  if (authLoading) {
    return (
      <div className="min-h-[calc(100vh-8rem)] flex items-center justify-center">
        <Loading size="lg" />
      </div>
    );
  }

  return null;
}
