From 413cdb1f8e6eff12c1c6b1a211905cdce963475a Mon Sep 17 00:00:00 2001 From: John Date: Mon, 2 May 2022 16:04:49 -0400 Subject: [PATCH] Update script.js --- js/script.js | 122 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 93 insertions(+), 29 deletions(-) diff --git a/js/script.js b/js/script.js index ba40127..defabd9 100644 --- a/js/script.js +++ b/js/script.js @@ -1,30 +1,96 @@ const timeText = document.getElementById("timeText"); +var initialHours; +var initialMinutes; +var initialSeconds; + +var initialHoursLocal = window.localStorage.getItem('initialHours') +if(initialHoursLocal !== null) { + initialHours = initialHoursLocal; + logMessage("Core", "Found initialHours in localStorage.") +} else { + initialHours = initialHoursConfig; +} +var initialMinutesLocal = window.localStorage.getItem('initialMinutes') +if(initialMinutesLocal !== null) { + initialMinutes = initialMinutesLocal; + logMessage("Core", "Found initialMinutes in localStorage.") +} else { + initialMinutes = initialMinutesConfig; +} +var initialSecondsLocal = window.localStorage.getItem('initialSeconds') +if(initialSecondsLocal !== null) { + initialSeconds = initialSecondsLocal; + logMessage("Core", "Found initialSeconds in localStorage.") +} else { + initialSeconds = initialSecondsConfig; +} + +resetBtn.addEventListener("click", function(){ + + initialHours = initialHoursConfig; + initialMinutes = initialMinutesConfig; + initialSeconds = initialSecondsConfig; + + let timeNow = new Date(Date.now()); + + endingTime = timeFunc.addHours(timeNow, initialHours); + endingTime = timeFunc.addMinutes(timeNow, initialMinutes); + endingTime = timeFunc.addSeconds(timeNow, initialSeconds); + + window.localStorage.removeItem('initialHours'); + window.localStorage.removeItem('initialMinutes'); + window.localStorage.removeItem('initialSeconds'); + + logMessage("Core", "Timer Reset."); +}); + + +startBtn.addEventListener("click", function(){ + + let timeNow = new Date(Date.now()); + + document.getElementById("resetBtn").style.visibility = "hidden"; + document.getElementById("startBtn").style.visibility = "hidden"; + document.getElementById("container").style.visibility = "visible"; + + endingTime = timeFunc.addHours(timeNow, initialHours); + endingTime = timeFunc.addMinutes(timeNow, initialMinutes); + endingTime = timeFunc.addSeconds(timeNow, initialSeconds); + +}); + + +let countdownEnded = false; +let users = []; +let time; + + let endingTime = new Date(Date.now()); endingTime = timeFunc.addHours(endingTime, initialHours); endingTime = timeFunc.addMinutes(endingTime, initialMinutes); endingTime = timeFunc.addSeconds(endingTime, initialSeconds); -let countdownEnded = false; -let users = []; -let time; - const getNextTime = () => { - let currentTime = new Date(Date.now()); - let differenceTime = endingTime - currentTime; - time = `${timeFunc.getHours(differenceTime)}:${timeFunc.getMinutes(differenceTime)}:${timeFunc.getSeconds(differenceTime)}`; - if (differenceTime <= 0) { - clearInterval(countdownUpdater); - countdownEnded = true; - time = "00:00:00"; - } - timeText.innerText = time; + + let currentTime = new Date(Date.now()); + let differenceTime = endingTime - currentTime; + time = `${timeFunc.getHours(differenceTime)}:${timeFunc.getMinutes(differenceTime)}:${timeFunc.getSeconds(differenceTime)}`; + if (differenceTime <= 0) { + clearInterval(countdownUpdater); + countdownEnded = true; + time = "00:00:00"; + } + window.localStorage.setItem('initialHours', timeFunc.getHours(differenceTime)); + window.localStorage.setItem('initialMinutes', timeFunc.getMinutes(differenceTime)); + window.localStorage.setItem('initialSeconds', timeFunc.getSeconds(differenceTime)); + timeText.innerText = time; + }; let countdownUpdater = setInterval(() => { - getNextTime(); -}, 1); - + getNextTime(); +}, 1); const addTime = async (time, s) => { @@ -49,17 +115,15 @@ const addTime = async (time, s) => { addedTime.remove(); }; - - -const testAddTime = (times, delay) => { - let addTimeInterval = setInterval(async () => { - if (times > 0) { - await sleep(randomInRange(50, delay-50)); - addTime(endingTime, 6000); - --times; - } - else { - clearInterval(addTimeInterval); - } - }, delay); +const testAddTime = (times, delay, s) => { + let addTimeInterval = setInterval(async () => { + if (times > 0) { + await sleep(randomInRange(50, delay-50)); + addTime(endingTime, s); + --times; + } + else { + clearInterval(addTimeInterval); + } + }, delay); };