From be8fbab1f213b81a45f05dd68c202e28a2064129 Mon Sep 17 00:00:00 2001 From: Sandani Kannangara Date: Tue, 21 Jul 2026 20:48:41 +0100 Subject: [PATCH] Implement alarm clock countdown functionality --- Sprint-3/alarmclock/alarmclock.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..88d810bca 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,31 @@ -function setAlarm() {} +const alarmTime = document.querySelector("#alarmSet"); +const timeRemaining = document.querySelector("#timeRemaining"); +let remainingSeconds; + +function setAlarm() { + remainingSeconds = Number(alarmTime.value); + displayTimeRemaining(); + + let timer = setInterval(() => { + remainingSeconds--; + displayTimeRemaining(); + if (remainingSeconds === 0) { + clearInterval(timer); + window.playAlarm(); + } + }, 1000); +} + +function displayTimeRemaining() { + let minutes = Math.floor(remainingSeconds / 60); + let seconds = remainingSeconds % 60; + const formatTime = + minutes.toString().padStart(2, "0") + + ":" + + seconds.toString().padStart(2, "0"); + + timeRemaining.textContent = `Time Remaining: ${formatTime}`; +} // DO NOT EDIT BELOW HERE