loopable / web /src /main.tsx
fsanyoto's picture
Deploy AIOS web (React glide grid + FastAPI slice)
092334a verified
Raw
History Blame Contribute Delete
986 Bytes
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App, { HOSTED } from './App.tsx'
import { installStandaloneBridge } from './customer-grid/apiBridge'
import { initializeHostBridge } from './customer-grid/hostBridge'
initializeHostBridge()
// EXIT wave 1 (X2): the standalone write path. THE ONE WIRING POINT — the embed
// bundle runs this file too, and the branch below is the whole of the wave's
// "standalone-only branches" promise. `HOSTED` is App.tsx's own constant, not a
// second copy of the predicate: a component-mode page must never register an
// HTTP sink for events that belong to the Streamlit value slot, and the two
// halves of that rule have to be reading the same answer. Ordered BEFORE render
// so the sink exists by the time the grid's first effect can emit.
if (!HOSTED) installStandaloneBridge()
createRoot(document.getElementById('root')!).render(
<StrictMode>
<App />
</StrictMode>,
)