This commit is contained in:
Chris Wanstrath 2026-01-26 12:47:45 -08:00
parent 6aeca0838d
commit 171e6c516f
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,3 @@
export { setup } from './setup'
export { setup, redraw } from './setup'
export { send, gameId } from './websocket'
export { sessionId } from './session'

View File

@ -3,16 +3,21 @@ import { initWebsocket, onUpdate } from './websocket'
const root = document.getElementById('root')!
export let redraw = () => { }
export function setup<G>(render: typeof renderJsx, onRender: (game: G) => Child) {
let game: G | undefined = undefined
redraw = () =>
render(game ? onRender(game) : <Loading />, root)
onUpdate((newGame: G) => {
game = newGame
render(game ? onRender(game) : <Loading />, root)
redraw()
})
initWebsocket()
render(game ? onRender(game) : <Loading />, root)
redraw()
}
const Loading = () => <h1>Loading...</h1>