diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/Alarm-clock-app.html similarity index 100% rename from Sprint-3/alarmclock/index.html rename to Sprint-3/alarmclock/Alarm-clock-app.html diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..03d3584f8 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,5 +1,42 @@ -function setAlarm() {} +let countdownInterval = null; +function setAlarm() { + const input = document.getElementById("alarmSet"); + let totalSeconds = parseInt(input.value, 10); + if (isNaN(totalSeconds) || totalSeconds <= 0) { + return; + } + + if (countdownInterval) { + clearInterval(countdownInterval); + } + + const heading = document.getElementById("timeRemaining"); + + function updateDisplay(seconds) { + const minutes = Math.floor(seconds / 60); + const remSeconds = seconds % 60; + + const formattedMinutes = String(minutes).padStart(2, "0"); + const formattedSeconds = String(remSeconds).padStart(2, "0"); + + heading.textContent = `Time Remaining: ${formattedMinutes}:${formattedSeconds}`; + } + + // Set initial display immediately when button is pressed + updateDisplay(totalSeconds); + + // Start 1000ms interval countdown + countdownInterval = setInterval(() => { + totalSeconds--; + updateDisplay(totalSeconds); + + if (totalSeconds <= 0) { + clearInterval(countdownInterval); + playAlarm(); + } + }, 1000); +} // DO NOT EDIT BELOW HERE var audio = new Audio("alarmsound.mp3");