From f55cbf8e4acef7627287ed1e2505bd784b46191b Mon Sep 17 00:00:00 2001 From: Ales-Os-Dev_Lab Date: Sat, 14 Mar 2026 14:17:41 +0000 Subject: [PATCH 1/4] Changed the title to Alarm Clock App --- Sprint-3/alarmclock/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..18a51fc66 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -1,10 +1,10 @@ - + - Title here + Alarm Clock App
From 333486d8f4160f84b421ab52a63fadb426e7dca1 Mon Sep 17 00:00:00 2001 From: Ales-Os-Dev_Lab Date: Sat, 14 Mar 2026 14:18:59 +0000 Subject: [PATCH 2/4] Revert title to default in 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 18a51fc66..f16f1bd6c 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,7 @@ - Alarm Clock App + Title here
From 1d5456c38cecd2955b5b4f140e74e69e33827673 Mon Sep 17 00:00:00 2001 From: Ales-Os-Dev_Lab Date: Sat, 14 Mar 2026 18:02:49 +0000 Subject: [PATCH 3/4] Implement alarm functionality with countdown and validation --- Sprint-3/alarmclock/alarmclock.js | 36 ++++++++++++++++++++++++++++++- Sprint-3/alarmclock/index.html | 2 +- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..6affc0b15 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,38 @@ -function setAlarm() {} +timerInterval = null; +function setAlarm() { + // 1. Get the input from the user + const inputField = document.getElementById("alarmSet"); + let timeRemaining = parseInt(inputField.value); + + // 2. Validate: If no number or 0 is entered, do nothing + if (isNaN(timeRemaining) || timeRemaining <= 0) { + return; + } + + // 3. Clear any existing timer; prevent multiple alarms running at once + clearInterval(timerInterval); + + // 4. Update the display immediately + updateTimeDisplay(timeRemaining); + + // 5. Start the countdown + timerInterval = setInterval(() => { + timeRemaining -= 1; + + updateTimeDisplay(timeRemaining); + + // 6. Check if timer hit zero + if (timeRemaining <= 0) { + clearInterval(timerInterval); + playAlarm(); + document.body.style.backgroundColor = "red"; + } + }, 1000); +} + +// mm:ss formatting + +//00:00 format // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index f16f1bd6c..66748001e 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,7 @@ - Title here + Alarm clock app
From 457ae35c241092e73436d5dbc9aefa9805b443ae Mon Sep 17 00:00:00 2001 From: Ales-Os-Dev_Lab Date: Mon, 16 Mar 2026 10:19:59 +0000 Subject: [PATCH 4/4] Refactor updateTimeDisplay function for clarity and consistency --- Sprint-3/alarmclock/alarmclock.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6affc0b15..57a883668 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -31,8 +31,18 @@ function setAlarm() { } // mm:ss formatting +function updateTimeDisplay(totalSeconds) { + const minutes = Math.floor(totalSeconds / 60); + const seconds = totalSeconds % 60; -//00:00 format + //00:00 format + const formattedMinutes = minutes.toString().padStart(2, "0"); + const formattedSeconds = seconds.toString().padStart(2, "0"); + + const timeString = `${formattedMinutes}:${formattedSeconds}`; + document.getElementById("timeRemaining").innerText = + `Time Remaining: ${timeString}`; +} // DO NOT EDIT BELOW HERE