import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { registerSW } from 'virtual:pwa-register'
import App from './App'
import { ToastProvider } from '@/components/ui/Toast'
import { CartProvider } from '@/features/cart/CartContext'
import { SessionProvider } from '@/features/session/SessionContext'
import './index.css'

// Service worker: só guarda em cache o "shell" estático (ver vite.config.ts).
registerSW({ immediate: true })

createRoot(document.getElementById('root')!).render(
  <StrictMode>
    <ToastProvider>
      <SessionProvider>
        <CartProvider>
          <App />
        </CartProvider>
      </SessionProvider>
    </ToastProvider>
  </StrictMode>,
)
