From 59a0e6b1332b42cf77d49ec5c4ea88f6801823cb Mon Sep 17 00:00:00 2001 From: Arunkumar Akilan Date: Sun, 22 Mar 2026 06:11:39 +0000 Subject: [PATCH 1/4] hhs --- prep/index.html | 24 ++++++++++++++++++++++++ prep/script.js | 11 +++++++++++ 2 files changed, 35 insertions(+) create mode 100644 prep/index.html create mode 100644 prep/script.js diff --git a/prep/index.html b/prep/index.html new file mode 100644 index 000000000..c627c419f --- /dev/null +++ b/prep/index.html @@ -0,0 +1,24 @@ + + + + + + Document + + + +
+

Example character limit comment component

+ + +

You have 200 characters remaining

+
+ + \ No newline at end of file diff --git a/prep/script.js b/prep/script.js new file mode 100644 index 000000000..effce0819 --- /dev/null +++ b/prep/script.js @@ -0,0 +1,11 @@ +const characterLimit = 200; +const textarea = document.querySelector("textarea"); + + +function updateCharacterLimit(){ + +const remainingCharacters = characterLimit - textarea.value.length; +const limitDisplay = document.querySelector("#character-limit-info"); +limitDisplay.textContent = `you have ${remainingCharacters} characters remaining`; +} +textarea.addEventListener("keyup", updateCharacterLimit); \ No newline at end of file From ae5c6baa452d8dd260708f9b4fd79c525be0d732 Mon Sep 17 00:00:00 2001 From: Arunkumar Akilan Date: Wed, 25 Mar 2026 09:34:49 +0000 Subject: [PATCH 2/4] Add alarm clock implementation for Sprint 3 --- Sprint-3/alarmclock/alarmclock.js | 30 +++++++++++++++++++++++++- Sprint-3/alarmclock/alarmclock.test.js | 2 +- Sprint-3/alarmclock/index.html | 2 +- Sprint-3/alarmclock/package.json | 5 ++++- 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..bb289bf29 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,32 @@ -function setAlarm() {} +function setAlarm() { + const input = document.querySelector("#alarmSet"); + let seconds = input.value%60; + let minutes = (input.value - seconds)/60; + const timeRemaining = document.querySelector("#timeRemaining"); + timeRemaining.textContent = `Time Remaining: ${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`; + givenTime = Number(input.value); + clearInterval(timerId); + timerId =setInterval(()=> + { + givenTime = givenTime - 1; + updateTime(); + if (givenTime === 0) { + clearInterval(timerId); + playAlarm(); + } + }, 1000); + +} + let timerId; + let givenTime; + +function updateTime(){ + let seconds = givenTime%60; + let minutes = (givenTime - seconds)/60; + const remainingTime = document.querySelector("#timeRemaining"); + remainingTime.textContent = `Time Remaining: ${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`; +} + // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/alarmclock.test.js b/Sprint-3/alarmclock/alarmclock.test.js index 85b7356dc..2076a59e7 100644 --- a/Sprint-3/alarmclock/alarmclock.test.js +++ b/Sprint-3/alarmclock/alarmclock.test.js @@ -1,7 +1,7 @@ /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. */ - +require("@testing-library/jest-dom"); const path = require("path"); const { JSDOM } = require("jsdom"); diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 48e2e80d9..4a91379d3 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,7 +4,7 @@ - Title here + Alarm Clock App
diff --git a/Sprint-3/alarmclock/package.json b/Sprint-3/alarmclock/package.json index e1331e071..92e81d7b7 100644 --- a/Sprint-3/alarmclock/package.json +++ b/Sprint-3/alarmclock/package.json @@ -13,5 +13,8 @@ "bugs": { "url": "https://github.com/CodeYourFuture/CYF-Coursework-Template/issues" }, - "homepage": "https://github.com/CodeYourFuture/CYF-Coursework-Template#readme" + "homepage": "https://github.com/CodeYourFuture/CYF-Coursework-Template#readme", + "devDependencies": { + "@testing-library/jest-dom": "^6.9.1" + } } From 28e240ac91a6873ad4133a00c38511399a4a2452 Mon Sep 17 00:00:00 2001 From: Arunkumar Akilan Date: Wed, 25 Mar 2026 09:40:54 +0000 Subject: [PATCH 3/4] Remove prep folder from Sprint 3 PR --- prep/index.html | 24 ------------------------ prep/script.js | 11 ----------- 2 files changed, 35 deletions(-) delete mode 100644 prep/index.html delete mode 100644 prep/script.js diff --git a/prep/index.html b/prep/index.html deleted file mode 100644 index c627c419f..000000000 --- a/prep/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Document - - - -
-

Example character limit comment component

- - -

You have 200 characters remaining

-
- - \ No newline at end of file diff --git a/prep/script.js b/prep/script.js deleted file mode 100644 index effce0819..000000000 --- a/prep/script.js +++ /dev/null @@ -1,11 +0,0 @@ -const characterLimit = 200; -const textarea = document.querySelector("textarea"); - - -function updateCharacterLimit(){ - -const remainingCharacters = characterLimit - textarea.value.length; -const limitDisplay = document.querySelector("#character-limit-info"); -limitDisplay.textContent = `you have ${remainingCharacters} characters remaining`; -} -textarea.addEventListener("keyup", updateCharacterLimit); \ No newline at end of file From b60f5ca796394b54b39684a32a69b1dc12defcc9 Mon Sep 17 00:00:00 2001 From: Arunkumar Akilan Date: Sat, 28 Mar 2026 07:15:31 +0000 Subject: [PATCH 4/4] Refactor: improve readability and reuse functions in alarm clock --- Sprint-3/alarmclock/alarmclock.js | 46 ++++++++++++++++--------------- Sprint-3/alarmclock/index.html | 2 +- Sprint-3/alarmclock/style.css | 6 +++- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index bb289bf29..d425c563c 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,32 +1,34 @@ +const input = document.querySelector("#alarmSet"); +let timeRemainingEl = document.querySelector("#timeRemaining"); function setAlarm() { - const input = document.querySelector("#alarmSet"); - let seconds = input.value%60; - let minutes = (input.value - seconds)/60; - const timeRemaining = document.querySelector("#timeRemaining"); - timeRemaining.textContent = `Time Remaining: ${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`; - givenTime = Number(input.value); - clearInterval(timerId); - timerId =setInterval(()=> - { + if (!input.value) { + alert("Enter minutes"); + return; + } + givenTime = Number(input.value); + updateTime(); + clearInterval(timerId); + timerId = setInterval(() => { givenTime = givenTime - 1; updateTime(); - if (givenTime === 0) { - clearInterval(timerId); - playAlarm(); - } + if (givenTime <= 0) { + clearInterval(timerId); + playAlarm(); + return; + } }, 1000); - } - let timerId; - let givenTime; - -function updateTime(){ - let seconds = givenTime%60; - let minutes = (givenTime - seconds)/60; - const remainingTime = document.querySelector("#timeRemaining"); - remainingTime.textContent = `Time Remaining: ${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`; +let timerId; +let givenTime; +function formatTime(givenTime) { + let seconds = givenTime % 60; + let minutes = Math.floor(givenTime / 60); + return `${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`; } +function updateTime() { + timeRemainingEl.textContent = `Time Remaining: ${formatTime(givenTime)}`; +} // DO NOT EDIT BELOW HERE diff --git a/Sprint-3/alarmclock/index.html b/Sprint-3/alarmclock/index.html index 4a91379d3..9c15cc358 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -10,7 +10,7 @@

Time Remaining: 00:00

- + diff --git a/Sprint-3/alarmclock/style.css b/Sprint-3/alarmclock/style.css index 0c72de38b..f6d107981 100644 --- a/Sprint-3/alarmclock/style.css +++ b/Sprint-3/alarmclock/style.css @@ -7,7 +7,11 @@ } #alarmSet { - margin: 20px; + margin: 15px; + width: 150px; + padding: 2px; + font-size: 16px; + border-radius: 5px; } h1 {