From c225fb22daf8eff257faeab9c58db5b3992cb73d Mon Sep 17 00:00:00 2001 From: dona-shehu Date: Sun, 26 Jul 2026 14:29:16 +0100 Subject: [PATCH 1/4] Implement setAlarm() --- Sprint-3/alarmclock/alarmclock.js | 33 ++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..1e5d2f9e8 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,35 @@ -function setAlarm() {} +let remainingSeconds = 0; +let intervalId; +function setAlarm() { + clearInterval(intervalId); + + const initialSeconds = Number(document.getElementById("alarmSet").value); + remainingSeconds = initialSeconds; + + let minutesDisplay = Math.floor(initialSeconds / 60) + .toString() + .padStart(2, "0"); + let secondsDisplay = Math.floor(initialSeconds % 60) + .toString() + .padStart(2, "0"); + let timeRemainingHeading = document.getElementById("timeRemaining"); + timeRemainingHeading.innerText = `Time Remaining: ${minutesDisplay}:${secondsDisplay}`; + + intervalId = setInterval(() => { + remainingSeconds--; + let currentMinutes = Math.floor(remainingSeconds / 60) + .toString() + .padStart(2, "0"); + let currentSeconds = Math.floor(remainingSeconds % 60) + .toString() + .padStart(2, "0"); + timeRemainingHeading.innerText = `Time Remaining: ${currentMinutes}:${currentSeconds}`; + if (remainingSeconds === 0) { + clearInterval(intervalId); + playAlarm(); + } + }, 1000); +} // DO NOT EDIT BELOW HERE From 7b4f9e5a29ecef8a12567633a39ea3687ec6897b Mon Sep 17 00:00:00 2001 From: dona-shehu Date: Sun, 26 Jul 2026 14:29:37 +0100 Subject: [PATCH 2/4] Added script and title --- Sprint-3/alarmclock/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..1e824a97b 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,8 @@ - Title here + Alarm clock app +
From c792c1ac7d3383508f4abc15c13a7cd6bab640a6 Mon Sep 17 00:00:00 2001 From: dona-shehu Date: Thu, 30 Jul 2026 14:30:31 +0100 Subject: [PATCH 3/4] created formatTime() and handel 0 ore negative input --- Sprint-3/alarmclock/alarmclock.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 1e5d2f9e8..5fdf7ee3d 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,29 +1,27 @@ let remainingSeconds = 0; let intervalId; + +function formatTime(totalSeconds) { + const minutes = Math.floor(totalSeconds / 60).toString().padStart(2, "0"); + const seconds = Math.floor(totalSeconds % 60).toString().padStart(2, "0"); + return `${minutes}:${seconds}`; +} function setAlarm() { clearInterval(intervalId); const initialSeconds = Number(document.getElementById("alarmSet").value); + const timeRemainingHeading = document.getElementById("timeRemaining"); + if (!initialSeconds || initialSeconds <= 0) { + timeRemainingHeading.innerText = "Please enter a positive number of seconds"; + return; +} remainingSeconds = initialSeconds; - let minutesDisplay = Math.floor(initialSeconds / 60) - .toString() - .padStart(2, "0"); - let secondsDisplay = Math.floor(initialSeconds % 60) - .toString() - .padStart(2, "0"); - let timeRemainingHeading = document.getElementById("timeRemaining"); - timeRemainingHeading.innerText = `Time Remaining: ${minutesDisplay}:${secondsDisplay}`; + timeRemainingHeading.innerText = `Time Remaining: ${formatTime(remainingSeconds)}`; intervalId = setInterval(() => { remainingSeconds--; - let currentMinutes = Math.floor(remainingSeconds / 60) - .toString() - .padStart(2, "0"); - let currentSeconds = Math.floor(remainingSeconds % 60) - .toString() - .padStart(2, "0"); - timeRemainingHeading.innerText = `Time Remaining: ${currentMinutes}:${currentSeconds}`; + timeRemainingHeading.innerText = `Time Remaining: ${formatTime(remainingSeconds)}`; if (remainingSeconds === 0) { clearInterval(intervalId); playAlarm(); From fd7c1e1725906b2141332f5b268009830622187f Mon Sep 17 00:00:00 2001 From: dona-shehu Date: Sat, 1 Aug 2026 14:44:56 +0100 Subject: [PATCH 4/4] formatting the document. --- Sprint-3/alarmclock/alarmclock.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 5fdf7ee3d..d5f65ad00 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -2,8 +2,12 @@ let remainingSeconds = 0; let intervalId; function formatTime(totalSeconds) { - const minutes = Math.floor(totalSeconds / 60).toString().padStart(2, "0"); - const seconds = Math.floor(totalSeconds % 60).toString().padStart(2, "0"); + const minutes = Math.floor(totalSeconds / 60) + .toString() + .padStart(2, "0"); + const seconds = Math.floor(totalSeconds % 60) + .toString() + .padStart(2, "0"); return `${minutes}:${seconds}`; } function setAlarm() { @@ -12,16 +16,21 @@ function setAlarm() { const initialSeconds = Number(document.getElementById("alarmSet").value); const timeRemainingHeading = document.getElementById("timeRemaining"); if (!initialSeconds || initialSeconds <= 0) { - timeRemainingHeading.innerText = "Please enter a positive number of seconds"; - return; -} + timeRemainingHeading.innerText = + "Please enter a positive number of seconds"; + return; + } remainingSeconds = initialSeconds; - timeRemainingHeading.innerText = `Time Remaining: ${formatTime(remainingSeconds)}`; + timeRemainingHeading.innerText = `Time Remaining: ${formatTime( + remainingSeconds + )}`; intervalId = setInterval(() => { remainingSeconds--; - timeRemainingHeading.innerText = `Time Remaining: ${formatTime(remainingSeconds)}`; + timeRemainingHeading.innerText = `Time Remaining: ${formatTime( + remainingSeconds + )}`; if (remainingSeconds === 0) { clearInterval(intervalId); playAlarm();