/**
 * Composant de redirection pour les utilisateurs déjà authentifiés - COOP-CA AMIFOND
 *
 * Redirige les utilisateurs déjà connectés (utile pour les pages de login/register)
 */

"use client";

import { ReactNode, useEffect } from "react";

import { useRouter } from "next/navigation";

import { useAuth } from "@/hooks/auth/use-auth-queries";

interface RedirectIfAuthenticatedProps {
  readonly children: ReactNode;
  readonly redirectTo?: string;
}

export function RedirectIfAuthenticated({ children, redirectTo = "/dashboard" }: RedirectIfAuthenticatedProps) {
  const router = useRouter();
  const { isAuthenticated, isLoading } = useAuth();

  useEffect(() => {
    // Si authentifié, rediriger vers la page de destination
    if (!isLoading && isAuthenticated) {
      router.push(redirectTo);
    }
  }, [isAuthenticated, isLoading, router, redirectTo]);

  // Si authentifié, ne rien afficher (redirection en cours)
  if (isAuthenticated && !isLoading) {
    return null;
  }

  // Afficher le contenu si pas authentifié
  return <>{children}</>;
}
