import {StrictMode} from 'react';
import {createRoot} from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import { AuthProvider } from './context/AuthContext';
import { PresenceProvider } from './context/PresenceContext';
import { CallProvider } from './context/CallContext';
import { DeviceProvider } from './context/DeviceContext';
import { setupUniversalApiInterceptor } from './utils/universalApiClient';
import App from './App';
import './index.css';

// Automatically activate universal persistence engine
setupUniversalApiInterceptor();

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <DeviceProvider>
      <AuthProvider>
        <PresenceProvider>
          <CallProvider>
            <BrowserRouter>
              <App />
            </BrowserRouter>
          </CallProvider>
        </PresenceProvider>
      </AuthProvider>
    </DeviceProvider>
  </StrictMode>,
);
