import React from 'react';
import ReactDOM from 'react-dom/client';
import { BrowserRouter as Router } from 'react-router-dom';
import App from './App';

// Contextos Globais (apenas os que existem e funcionam)
import { AuthProvider } from './contexts/AuthContext';
import { CacheProvider } from './contexts/CacheContext';
import { ComplianceProvider } from './contexts/ComplianceContext';
import { NotificationProvider } from './shared/contexts/NotificationContext';
import { clearServiceWorkerAndReload } from './utils/clearServiceWorker';

// CSS
// Font Awesome 6.5.2 auto-hospedada (mesma versão que vinha do cdnjs): o Vite
// emite os webfonts como assets locais. Fica só no bundle do app — as landings
// do www não carregam ícones e continuam leves.
import '@fortawesome/fontawesome-free/css/all.min.css';
import './index.css';

// Global function to clear service worker cache
(window as any).clearServiceWorkerAndReload = clearServiceWorkerAndReload;

const root = ReactDOM.createRoot(
  document.getElementById('root') as HTMLElement
)

root.render(
  // Temporariamente removido StrictMode para debug de re-renders
  // <React.StrictMode>
  <Router>
    <AuthProvider>
      <CacheProvider>
        <ComplianceProvider>
          <NotificationProvider>
            <App />
          </NotificationProvider>
        </ComplianceProvider>
      </CacheProvider>
    </AuthProvider>
  </Router>
  // </React.StrictMode>
);
