import { Navigate, useLocation } from 'react-router-dom';
import type { ReactNode } from 'react';
import { useAuthStore } from '@/features/auth/authStore';

export function ProtectedRoute({ children }: { children: ReactNode }) {
  const { user, status } = useAuthStore();
  const location = useLocation();
  if (status !== 'ready') {
    return (
      <div className="flex min-h-[50vh] items-center justify-center text-muted">Loading...</div>
    );
  }
  if (!user) {
    return <Navigate to="/login" replace state={{ from: location }} />;
  }
  return <>{children}</>;
}
