import { Navigate } from "react-router";
import { useMe } from "../hooks/useAuth";

interface PublicRouteProps {
  children: React.ReactNode;
}

/**
 * Компонент для публичных роутов (логин/регистрация)
 * Если пользователь уже авторизован - перенаправляет на главную
 */
function PublicRoute({ children }: PublicRouteProps) {
  const { data: user, isLoading } = useMe();

  // Показываем загрузку пока проверяем авторизацию
  if (isLoading) {
    return (
      <div className="flex justify-center items-center min-h-screen">
        <div className="text-xl">Загрузка...</div>
      </div>
    );
  }

  // Если пользователь уже авторизован - перенаправляем на главную
  if (user) {
    return <Navigate to="/" replace />;
  }

  // Если не авторизован - показываем публичный контент (логин/регистрация)
  return <>{children}</>;
}

export default PublicRoute;
