diff --git a/client/src/renderers/welcome.ts b/client/src/renderers/welcome.ts index 29cdf19..7ebe8d2 100644 --- a/client/src/renderers/welcome.ts +++ b/client/src/renderers/welcome.ts @@ -17,13 +17,33 @@ class Welcome implements RenderDef { async prepare(){ this.element = document.createElement("div"); var el = this.element;//LAZYNESS - el.className = "welcome-page"; + el.className = "welcome-page"; + + var t:HTMLDivElement = document.createElement("div"); + t.className = "welcome-time"; + var d:Date = new Date(); + t.innerText = d.getHours().toString().padStart(2, "0") + ":" + d.getMinutes().toString().padStart(2, "0"); + + var w:RenderDef = this; + setTimeout(() => { + var d:Date = new Date(); + t.innerText = d.getHours().toString().padStart(2, "0") + ":" + d.getMinutes().toString().padStart(2, "0"); + + var id:NodeJS.Timeout = setInterval(()=>{ + if(w.state != RenderStates.Rendered)return clearInterval(id); + + var d = new Date(); + t.innerText = d.getHours().toString().padStart(2, "0") + ":" + d.getMinutes().toString().padStart(2, "0"); + }, 60000) + }, 60000 - d.getMilliseconds());//exactly every minute + + el.appendChild(t); 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 + this.state = RenderStates.Ejected; } }