From f93276d989f37cbcceb5c7ebd9d7f1a8a68f87de Mon Sep 17 00:00:00 2001 From: Alaa Tagi Date: Wed, 26 Nov 2025 15:05:48 +0000 Subject: [PATCH 1/4] implement an alarm function and update title in index.html --- Sprint-3/alarmclock/alarmclock.js | 36 +++++++++++++++++++++++++++++-- Sprint-3/alarmclock/index.html | 2 +- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..0b1f9a112 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,36 @@ -function setAlarm() {} +function setAlarm() { + let time = Number(document.getElementById("alarmSet").value); + const heading = document.getElementById("timeRemaining"); + + audio.loop = true; + + document.body.style.backgroundColor = ""; + + function updateDisplay(t) { + const minutes = String(Math.floor(t / 60)).padStart(2, "0"); + const seconds = String(t % 60).padStart(2, "0"); + heading.innerText = `Time Remaining: ${minutes}:${seconds}`; + } + + updateDisplay(time); + + const intervalId = setInterval(() => { + time--; + + if (time <= 0) { + clearInterval(intervalId); + updateDisplay(0); + + document.body.style.backgroundColor = "red"; + + playAlarm(); + + } else { + updateDisplay(time); + } + }, 1000); +} + // DO NOT EDIT BELOW HERE @@ -22,4 +54,4 @@ function pauseAlarm() { audio.pause(); } -window.onload = setup; +window.onload = setup; \ No newline at end of file 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
From 088c50ab2cca63504c5b47d74faa67656f0e146f Mon Sep 17 00:00:00 2001 From: Alaa Tagi Date: Wed, 26 Nov 2025 19:17:42 +0000 Subject: [PATCH 2/4] fix alarm function as requested --- Sprint-3/alarmclock/alarmclock.js | 22 ++++++++++------------ Sprint-3/alarmclock/index.html | 8 +++++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 0b1f9a112..419509a53 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,32 +1,30 @@ +function updateDisplay(heading, time) { + const minutes = String(Math.floor(time / 60)).padStart(2, "0"); + const seconds = String(time % 60).padStart(2, "0"); + heading.innerText = `Time Remaining: ${minutes}:${seconds}`; +} + function setAlarm() { let time = Number(document.getElementById("alarmSet").value); const heading = document.getElementById("timeRemaining"); audio.loop = true; - document.body.style.backgroundColor = ""; - function updateDisplay(t) { - const minutes = String(Math.floor(t / 60)).padStart(2, "0"); - const seconds = String(t % 60).padStart(2, "0"); - heading.innerText = `Time Remaining: ${minutes}:${seconds}`; - } - - updateDisplay(time); + updateDisplay(heading, time); const intervalId = setInterval(() => { time--; if (time <= 0) { clearInterval(intervalId); - updateDisplay(0); + updateDisplay(heading, 0); document.body.style.backgroundColor = "red"; playAlarm(); - } else { - updateDisplay(time); + updateDisplay(heading, time); } }, 1000); } @@ -54,4 +52,4 @@ function pauseAlarm() { audio.pause(); } -window.onload = setup; \ No newline at end of file +window.onload = setup; diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index ff2d3b453..f38f9d247 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,17 +4,19 @@ - Alarm clock app + Alarm Clock App

Time Remaining: 00:00

- - + + +
+ From 3b35e29e3a15c52f27e8f2fee6ae169e0be826bc Mon Sep 17 00:00:00 2001 From: Alaa Tagi Date: Mon, 1 Dec 2025 14:53:34 +0000 Subject: [PATCH 3/4] fix the issue --- Sprint-3/alarmclock/alarmclock.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 419509a53..2ecc29ca1 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -6,6 +6,12 @@ function updateDisplay(heading, time) { function setAlarm() { let time = Number(document.getElementById("alarmSet").value); + + if (!time || time <= 0) { + alert("Please enter a valid time in seconds."); + return; + } + const heading = document.getElementById("timeRemaining"); audio.loop = true; From 0dbf6cdcdc305d6a895ff9958ba6860316ad8115 Mon Sep 17 00:00:00 2001 From: Alaa Tagi Date: Mon, 1 Dec 2025 14:56:49 +0000 Subject: [PATCH 4/4] fix the issue --- Sprint-3/alarmclock/index.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index f38f9d247..bc50ead82 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -10,9 +10,8 @@

Time Remaining: 00:00

- - - + +