/* =====================================================================
   Root — Entry point del cotizador
   1) Verifica sesion via /api/auth/me
   2) Si no hay sesion, muestra LoginScreen
   3) Si hay sesion, monta App
   Al final monta Root en #root con ReactDOM.createRoot.
   ===================================================================== */

function Root() {
  const [user, setUser]         = useState(null);
  const [checking, setChecking] = useState(true);

  useEffect(() => {
    fetch('/api/auth/me', { credentials: 'include' })
      .then(r => r.ok ? r.json() : Promise.reject())
      .then(d => setUser(d.user))
      .catch(() => setUser(null))
      .finally(() => setChecking(false));
  }, []);

  if (checking) {
    return (
      <div style={{ display:"flex", alignItems:"center", justifyContent:"center", height:"100vh",
                    fontFamily:"'Libre Franklin', sans-serif", color:"#6b7280" }}>
        Cargando...
      </div>
    );
  }
  if (!user) return <LoginScreen onLogin={setUser} />;
  return <App />;
}

ReactDOM.createRoot(document.getElementById('root')).render(<Root />);
