diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..e6e5c9c97 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,50 @@ -function setAlarm() {} +let intervalId = null; + +function formatTime(totalSeconds) { + const minutes = Math.floor(totalSeconds / 60); + const seconds = totalSeconds % 60; + + const formattedMinutes = String(minutes).padStart(2, "0"); + const formattedSeconds = String(seconds).padStart(2, "0"); + + return `${formattedMinutes}:${formattedSeconds}`; +} + +function setAlarm() { + const input = document.getElementById("alarmSet"); + const heading = document.getElementById("timeRemaining"); + + let value = input.value + + if (value === "") { + return; + } + + let remainingSeconds = Number(value); + + if (remainingSeconds <= 0 || isNaN(remainingSeconds)) { + return; + } + + heading.innerText = `Time Remaining: ${formatTime(remainingSeconds)}`; + + if (intervalId !== null) { + clearInterval(intervalId); + } + + intervalId = setInterval(() => { + remainingSeconds -= 1; + + if (remainingSeconds <= 0) { + heading.innerText = `Time Remaining: ${formatTime(0)}`; + playAlarm(); + clearInterval(intervalId); + intervalId = null; + return; + } + heading.innerText = `Time Remaining: ${formatTime(remainingSeconds)}`; + }, 1000); +} // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..4a91379d3 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,7 @@ - Title here + Alarm Clock App