From 7d8e3243a614fcbf2c32cd28312672c98f537cc6 Mon Sep 17 00:00:00 2001 From: joanne342 <130585013+joanne342@users.noreply.github.com> Date: Mon, 20 Jul 2026 10:50:51 +0100 Subject: [PATCH 1/5] Update alarmclock.js --- Sprint-3/alarmclock/alarmclock.js | 36 +++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..d291a597f 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,7 +1,39 @@ -function setAlarm() {} +let inputSeconds; +let timer; -// DO NOT EDIT BELOW HERE +function setAlarm() { + clearInterval(timer); + pauseAlarm(); + + inputSeconds = Number(document.getElementById("alarmSet").value); + + if (isNaN(inputSeconds) || inputSeconds <= 0) { + return; + } + + updateDisplay(); + + timer = setInterval(() => { + inputSeconds--; + + updateDisplay(); + if (inputSeconds <= 0) { + clearInterval(timer); + playAlarm(); + } + }, 1000); +} + +function updateDisplay() { + const minutes = Math.floor(inputSeconds / 60); + const seconds = inputSeconds % 60; + + document.getElementById("timeRemaining").textContent = + `Time Remaining: ${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}`; +} + +// DO NOT EDIT BELOW HERE var audio = new Audio("alarmsound.mp3"); function setup() { From b9e4271a991d300760f5cc1009d7338f02ac4d13 Mon Sep 17 00:00:00 2001 From: joanne342 <130585013+joanne342@users.noreply.github.com> Date: Mon, 20 Jul 2026 10:51:36 +0100 Subject: [PATCH 2/5] Update package.json --- Sprint-3/alarmclock/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/package.json b/Sprint-3/alarmclock/package.json index e1331e071..78d5cfab8 100644 --- a/Sprint-3/alarmclock/package.json +++ b/Sprint-3/alarmclock/package.json @@ -2,7 +2,7 @@ "name": "alarmclock", "version": "1.0.0", "license": "CC-BY-SA-4.0", - "description": "You must update this package", + "description": "Alarm clock app", "scripts": { "test": "jest --config=../jest.config.js alarmclock" }, From 51598ae470116081db556120a25b5c1f7b883c4c Mon Sep 17 00:00:00 2001 From: joanne342 <130585013+joanne342@users.noreply.github.com> Date: Mon, 20 Jul 2026 10:52:23 +0100 Subject: [PATCH 3/5] Update index.html --- Sprint-3/alarmclock/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3e6b4ff3fa7bcde25a0567998dd16e5394bdf8b4 Mon Sep 17 00:00:00 2001 From: joanne342 <130585013+joanne342@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:22:49 +0100 Subject: [PATCH 4/5] Update alarmclock.js --- Sprint-3/alarmclock/alarmclock.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index d291a597f..89f283c96 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -20,7 +20,7 @@ function setAlarm() { if (inputSeconds <= 0) { clearInterval(timer); - playAlarm(); + window.playAlarm(); } }, 1000); } @@ -50,6 +50,8 @@ function playAlarm() { audio.play(); } +window.playAlarm = playAlarm; + function pauseAlarm() { audio.pause(); } From e44f40f88b63151e1eb3cedaa72e7ac311dab9d1 Mon Sep 17 00:00:00 2001 From: joanne342 <130585013+joanne342@users.noreply.github.com> Date: Mon, 20 Jul 2026 11:56:14 +0100 Subject: [PATCH 5/5] Update alarmclock.js --- Sprint-3/alarmclock/alarmclock.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 89f283c96..311dd02ce 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,5 @@ -let inputSeconds; +function setAlarm() { + let inputSeconds; let timer; function setAlarm() { @@ -20,7 +21,7 @@ function setAlarm() { if (inputSeconds <= 0) { clearInterval(timer); - window.playAlarm(); + playAlarm(); } }, 1000); } @@ -31,9 +32,11 @@ function updateDisplay() { document.getElementById("timeRemaining").textContent = `Time Remaining: ${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}`; +} } // DO NOT EDIT BELOW HERE + var audio = new Audio("alarmsound.mp3"); function setup() { @@ -50,8 +53,6 @@ function playAlarm() { audio.play(); } -window.playAlarm = playAlarm; - function pauseAlarm() { audio.pause(); }