diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..839606f73 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,46 @@ -function setAlarm() {} +let timerId = null; +let remainingSeconds = 0; + +function updateDisplay() { + const minutes = String(Math.floor(remainingSeconds / 60)).padStart(2, "0"); + const seconds = String(remainingSeconds % 60).padStart(2, "0"); + document.getElementById( + "timeRemaining" + ).textContent = `Time Remaining: ${minutes}:${seconds}`; +} + +function startCountdown() { + timerId = setInterval(() => { + remainingSeconds--; + updateDisplay(); + + if (remainingSeconds <= 0) { + remainingSeconds = 0; + clearInterval(timerId); + timerId = null; + playAlarm(); + } + }, 1000); +} + +function setAlarm() { + const input = document.getElementById("alarmSet"); + if (input.value === "") return; + remainingSeconds = Number(input.value); + if (!Number.isFinite(remainingSeconds)) return; + clearInterval(timerId); + timerId = null; + + if (remainingSeconds <= 0) { + remainingSeconds = 0; + updateDisplay(); + playAlarm(); + } else { + updateDisplay(); + startCountdown(); + } + input.value = ""; +} // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..9ced13b41 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,7 @@ -