import React from 'react'
import ReactDOM from 'react-dom/client'
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'
import App from './App.jsx'
import Login from './login.jsx' 
import './index.css'

// ==========================================
// INTERCEPTADOR GLOBAL DE AMBIENTE (CORRIGIDO)
// ==========================================
const originalFetch = window.fetch;
window.fetch = async function() {
  let [resource, config] = arguments;
  
  const isProd = import.meta.env.PROD;
  const baseUrl = "https://api-luminal.angularbi.com";

  if (isProd && typeof resource === 'string' && resource.startsWith('/api/')) {
    // Em vez de replace, fazemos uma junção segura. 
    // Isso garante que se a rota for /api/visits, ela vire https://api-luminal.angularbi.com/api/visits
    // ou conforme a estrutura que o seu backend de produção exigir.
    resource = `${baseUrl}${resource}`;
    
    // Log para você ver no console exatamente para onde o sistema está tentando enviar o dado
    console.log("🚀 Redirecionando Fetch para Produção:", resource);
  }
  
  return originalFetch(resource, config);
};

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <BrowserRouter>
      <Routes>
        {/* Rota Raiz: Redireciona para o Login */}
        <Route path="/" element={<Navigate to="/login" replace />} />
        
        {/* A Rota Pública: A fechadura */}
        <Route path="/login" element={<Login />} />
        
        {/* A Rota Privada: O seu sistema Angular */}
        <Route path="/app" element={<App />} />
      </Routes>
    </BrowserRouter>
  </React.StrictMode>,
)