diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..6765b722e 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,5 +1,49 @@ -function setAlarm() {} +const input = document.getElementById("alarmSet"); +const timeRemaining = document.getElementById("timeRemaining"); +const message = document.getElementById("message"); +let intervalId = null; + +function getTime() { + const time = Number(input.value); + if (!(Number.isInteger(time) && time >= 1)) { + message.textContent = "Enter a valid number"; + return null; + } + return time; +} + +function updateTime(time) { + let minutes = Math.floor(time / 60); + let seconds = time % 60; + minutes = minutes.toString().padStart(2, "0"); + seconds = seconds.toString().padStart(2, "0"); + timeRemaining.textContent = `Time Remaining: ${minutes}:${seconds}`; +} + +function setAlarm() { + let timeInput = getTime(); + if (timeInput === null) { + return; + } + resetAlarm(); + updateTime(timeInput); + intervalId = setInterval(() => { + timeInput--; + updateTime(timeInput); + if (timeInput === 0) { + playAlarm(); + clearInterval(intervalId); + intervalId = null; + } + }, 1000); +} + +function resetAlarm() { + clearInterval(intervalId); + intervalId = null; + updateTime(0); +} // DO NOT EDIT BELOW HERE var audio = new Audio("alarmsound.mp3"); diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..229427d35 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -1,20 +1,21 @@ + - - - - - Title here - - -
-

Time Remaining: 00:00

- - - - - -
- - + + + + + Alarm clock app + + +
+

Time Remaining: 00:00

+

+ + + + +
+ +