ester_os/client/src/renderers/welcome.ts

30 lines
No EOL
894 B
TypeScript

import RenderDef from '../defs/renderer';
import RenderStates from '../defs/renderStates';
import './styles/welcome.css';
class Welcome implements RenderDef {
name = "welcome";
state = RenderStates.Init;
removePrevious = false;
element: HTMLElement = null;
render(){
if(!this.element)throw Error("Trying to render before renderer is renderable");
document.body.appendChild(this.element);
this.state = RenderStates.Rendered;
}
async prepare(){
this.element = document.createElement("div");
var el = this.element;//LAZYNESS
el.className = "welcome-page";
this.state = RenderStates.Ready;
}
eject(){
document.body.removeChild(this.element);
this.state = RenderStates.Hidden; //this eject function doesn't destroy anything, so it might be reused
}
}
export default Welcome;