redraw()
This commit is contained in:
parent
6aeca0838d
commit
171e6c516f
|
|
@ -1,3 +1,3 @@
|
||||||
export { setup } from './setup'
|
export { setup, redraw } from './setup'
|
||||||
export { send, gameId } from './websocket'
|
export { send, gameId } from './websocket'
|
||||||
export { sessionId } from './session'
|
export { sessionId } from './session'
|
||||||
|
|
|
||||||
|
|
@ -3,16 +3,21 @@ import { initWebsocket, onUpdate } from './websocket'
|
||||||
|
|
||||||
const root = document.getElementById('root')!
|
const root = document.getElementById('root')!
|
||||||
|
|
||||||
|
export let redraw = () => { }
|
||||||
|
|
||||||
export function setup<G>(render: typeof renderJsx, onRender: (game: G) => Child) {
|
export function setup<G>(render: typeof renderJsx, onRender: (game: G) => Child) {
|
||||||
let game: G | undefined = undefined
|
let game: G | undefined = undefined
|
||||||
|
|
||||||
|
redraw = () =>
|
||||||
|
render(game ? onRender(game) : <Loading />, root)
|
||||||
|
|
||||||
onUpdate((newGame: G) => {
|
onUpdate((newGame: G) => {
|
||||||
game = newGame
|
game = newGame
|
||||||
render(game ? onRender(game) : <Loading />, root)
|
redraw()
|
||||||
})
|
})
|
||||||
|
|
||||||
initWebsocket()
|
initWebsocket()
|
||||||
render(game ? onRender(game) : <Loading />, root)
|
redraw()
|
||||||
}
|
}
|
||||||
|
|
||||||
const Loading = () => <h1>Loading...</h1>
|
const Loading = () => <h1>Loading...</h1>
|
||||||
Loading…
Reference in New Issue
Block a user