From 8cd6d481fb7e3048c0322e14612cfd3c435b7251 Mon Sep 17 00:00:00 2001 From: mandip sanger Date: Fri, 14 Aug 2026 21:32:36 +0100 Subject: [PATCH 1/3] alarmclock --- Sprint-3/alarmclock/alarmclock.js | 39 ++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..0fe05f6eb 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,41 @@ -function setAlarm() {} +let timer; + +function setAlarm() { + const input = document.getElementById("alarmSet"); + const heading = document.getElementById("timeRemaining"); + + let timeRemaining = Number(input.value); + + function formatTime(totalSeconds) { + const minutes = Math.floor(totalSeconds / 60); + const seconds = totalSeconds % 60; + + return `Time Remaining: ${String(minutes).padStart(2, "0")}:${String( + seconds + ).padStart(2, "0")}`; + } + + // Show starting time + heading.innerText = formatTime(timeRemaining); + + // Stop an existing timer + clearInterval(timer); + + timer = setInterval(() => { + timeRemaining--; + + if (timeRemaining <= 0) { + timeRemaining = 0; + heading.innerText = formatTime(timeRemaining); + + clearInterval(timer); + playAlarm(); + return; + } + + heading.innerText = formatTime(timeRemaining); + }, 1000); +} // DO NOT EDIT BELOW HERE From 85a4ac8e08b822034e092d20547aab10e230b527 Mon Sep 17 00:00:00 2001 From: mandip sanger Date: Mon, 17 Aug 2026 22:43:11 +0100 Subject: [PATCH 2/3] validation for alarm clock --- Sprint-3/alarmclock/alarmclock.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 0fe05f6eb..2fadb7f28 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -4,6 +4,29 @@ function setAlarm() { const input = document.getElementById("alarmSet"); const heading = document.getElementById("timeRemaining"); + // step 1 retrieve input value + const inputValue = input.value; + + // step 2 validate if input is a number + const numberValue = Number(inputValue); + if (isNaN(numberValue00)); + alert("only enter a valid number."); + return; // exit a function if not a number + + //step 3 validate if it is an integer + if (!Number.isInteger(numberValue)) { + alert("only enter an integer value."); + return; // exit a function if not an integer + } + + //step 4 validate if it is greater than 0 + if (NumberValue <= 0) { + alert("only enter a number which is bigger than 0"); + return; //Exit a funciton if not greater than 0 + } + + // if all the validations passes then + let timeRemaining = Number(input.value); function formatTime(totalSeconds) { From 0e8ddbed0f98349a63cfb69e828640e85e40b25e Mon Sep 17 00:00:00 2001 From: mandip sanger Date: Mon, 17 Aug 2026 22:45:38 +0100 Subject: [PATCH 3/3] fix errors --- Sprint-3/alarmclock/alarmclock.js | 41 ++++++++++++++----------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 2fadb7f28..6c0a75d61 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -4,53 +4,51 @@ function setAlarm() { const input = document.getElementById("alarmSet"); const heading = document.getElementById("timeRemaining"); - // step 1 retrieve input value + // Step 1: Retrieve input value const inputValue = input.value; - // step 2 validate if input is a number + // Step 2: Validate if input is a number const numberValue = Number(inputValue); - if (isNaN(numberValue00)); - alert("only enter a valid number."); - return; // exit a function if not a number + if (isNaN(numberValue)) { + alert("Please enter a valid number."); + return; // Exit if not a number + } - //step 3 validate if it is an integer + // Step 3: Validate if it is an integer if (!Number.isInteger(numberValue)) { - alert("only enter an integer value."); - return; // exit a function if not an integer + alert("Please enter an integer value."); + return; // Exit if not an integer } - //step 4 validate if it is greater than 0 - if (NumberValue <= 0) { - alert("only enter a number which is bigger than 0"); - return; //Exit a funciton if not greater than 0 + // Step 4: Validate if it is greater than 0 + if (numberValue <= 0) { + alert("Please enter a number greater than 0."); + return; // Exit if not greater than 0 } - // if all the validations passes then - - let timeRemaining = Number(input.value); + // If all validation passes + let timeRemaining = numberValue; + // Function to format time function formatTime(totalSeconds) { const minutes = Math.floor(totalSeconds / 60); const seconds = totalSeconds % 60; - - return `Time Remaining: ${String(minutes).padStart(2, "0")}:${String( - seconds - ).padStart(2, "0")}`; + return `Time Remaining: ${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}`; } // Show starting time heading.innerText = formatTime(timeRemaining); - // Stop an existing timer + // Stop existing timer clearInterval(timer); + // Start countdown timer = setInterval(() => { timeRemaining--; if (timeRemaining <= 0) { timeRemaining = 0; heading.innerText = formatTime(timeRemaining); - clearInterval(timer); playAlarm(); return; @@ -61,7 +59,6 @@ function setAlarm() { } // DO NOT EDIT BELOW HERE - var audio = new Audio("alarmsound.mp3"); function setup() {