import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { ConvexProvider } from 'convex/react'
import './index.css'
import App from './App.jsx'
import { convex, isConvexConfigured } from './lib/convexClient.js'
import { CartProvider } from './cart/CartProvider.jsx'

// Mount the Convex provider + cart only when an endpoint is configured. Without
// it, App renders against the DISABLED_CART stub so the marketing site works
// with zero env vars. Swap ConvexProvider → ConvexProviderWithClerk to add auth
// (see src/lib/convexClient.js and docs/tomorrow-setup-runbook.md).
const tree = isConvexConfigured ? (
  <ConvexProvider client={convex}>
    <CartProvider>
      <App />
    </CartProvider>
  </ConvexProvider>
) : (
  <App />
)

createRoot(document.getElementById('root')).render(
  <StrictMode>{tree}</StrictMode>,
)
