import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
import { ProvedorDeSessao } from '@/lib/sessao';
import { iniciarTema } from '@/lib/tema';
import { ProvedorDeAvisos } from '@/ui/overlay';
import { ErrorBoundary } from '@/ui/ErrorBoundary';
import './index.css';

iniciarTema();
// Marca do build — muda o hash do bundle a cada cutover (evita servir asset
// antigo por URL cacheada). Ver nginx.conf (@asset_ausente).
document.documentElement.setAttribute('data-build', 'baas-cutover-1');

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <ErrorBoundary>
      <BrowserRouter>
        <ProvedorDeSessao>
          <ProvedorDeAvisos>
            <App />
          </ProvedorDeAvisos>
        </ProvedorDeSessao>
      </BrowserRouter>
    </ErrorBoundary>
  </StrictMode>,
);
