diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..0f30084f1 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,54 @@ -function setAlarm() {} +let intervalId = null; +let totalSeconds = 0; +const input = document.getElementById("alarmSet"); +const timeRemaining = document.getElementById("timeRemaining"); +const message = document.getElementById("message"); + +function formatTime(seconds) { + const minutes = Math.floor(seconds / 60); + const secs = seconds % 60; + return `${String(minutes).padStart(2, "0")}:${String(secs).padStart(2, "0")}`; +} +function updateDisplay() { + timeRemaining.textContent = `Time Remaining: ${formatTime(totalSeconds)}`; +} + +function resetAlarm() { + clearInterval(intervalId); + intervalId = null; + audio.pause(); + audio.currentTime = 0; +} +function getTime() { + const time = Number(input.value); + if (!(Number.isInteger(time) && time >= 1)) { + message.textContent = "Enter a valid number"; + return null; + } + return time; +} + +function setAlarm() { + const time = getTime(); + if (time === null) { + return; + } + + resetAlarm(); + totalSeconds = time; + updateDisplay(); + + intervalId = setInterval(() => { + totalSeconds--; + updateDisplay(); + + if (totalSeconds <= 0) { + clearInterval(intervalId); + intervalId = null; + playAlarm(); + } + }, 1000); +} // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..26105b9f5 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -1,14 +1,15 @@ - +
-