Files
Telereview/code/interface_borne/assets/js/state_manager.js
2023-01-26 13:25:08 +01:00

32 lines
846 B
JavaScript

const STATE = {
sleeping: 0,
video: 1,
audio: 2,
thankYou: 3,
};
class StateManager {
constructor(canvas) {
this.canvas = canvas;
this._state = STATE.sleeping;
this._cameraPage = new CameraPage(this.canvas);
this._sleepingPage = new SleepingPage();
this.wsClient = new WebsocketClient(
(effects) => this._cameraPage.setEffects(effects),
(state) => this.changeState(state)
);
//TODO: Remove qd implémenté dans le backend
document.getElementById("sleeping-page-continue").onclick = () => this.setState(STATE.video);
}
setState(newState) {
if(this._state == STATE.sleeping && newState == STATE.video) {
this._cameraPage.enabled = true;
this._sleepingPage.enabled = false;
}
}
}