From 70ad8919ed3ac57d9debd1ab88de6fa16fc588f6 Mon Sep 17 00:00:00 2001 From: Jamal Laqdiem Date: Tue, 15 Jul 2025 18:34:29 +0100 Subject: [PATCH] Updates HTML, implement alarmclock file. --- Sprint-3/alarmclock/alarmclock.js | 51 ++++++++++++++++++++++++++++++- Sprint-3/alarmclock/index.html | 2 +- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..d5d8cdc49 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,53 @@ -function setAlarm() {} +const setAlarmbtn = document.getElementById('set') +const inputAlarm = document.getElementById('alarmSet') +const remainingTime = document.getElementById('timeRemaining') +const stpButton = document.getElementById('stop') +let totalSecondsRemaining; +let countDown; + +function updateTitleAndDisplay() { + const minutes = Math.floor(totalSecondsRemaining / 60); + const seconds = totalSecondsRemaining % 60; + const formattedMinutes = String(minutes).padStart(2, '0'); + const formattedSeconds = String(seconds).padStart(2, '0'); + + document.title = `${formattedMinutes}:${formattedSeconds} - Alarm`; + remainingTime.innerText = `Time Remaining: ${formattedMinutes}:${formattedSeconds}`; + totalSecondsRemaining--; + + if (totalSecondsRemaining < 0) { + clearInterval(countDown); + document.title = "Time's Up!"; + remainingTime.innerText = "Time's Up!"; + playAlarm() + } + if(totalSecondsRemaining < 3){ + remainingTime.style.color = 'red' + } else { + remainingTime.style.color = '' + } +} + +setAlarmbtn.addEventListener('click', () => { + if (countDown) { + clearInterval(countDown) + audio.pause() + audio.currentTime=0 + } + + const inputSeconds = parseInt(inputAlarm.value, 10); + + if (isNaN(inputSeconds) || inputSeconds < 0) { + remainingTime.innerText = "Invalid input. Please enter a non-negative number of seconds."; + document.title = "Alarm Setter"; + return; + } + + totalSecondsRemaining = inputSeconds; + updateTitleAndDisplay(); + + countDown = setInterval(updateTitleAndDisplay, 1000); +}); // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..ff2d3b453 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,7 @@ - Title here + Alarm clock app