diff --git a/Sprint-3/alarmclock/alarmclock.js b/Sprint-3/alarmclock/alarmclock.js index 6ca81cd3b..d425c563c 100644 --- a/Sprint-3/alarmclock/alarmclock.js +++ b/Sprint-3/alarmclock/alarmclock.js @@ -1,4 +1,34 @@ -function setAlarm() {} +const input = document.querySelector("#alarmSet"); +let timeRemainingEl = document.querySelector("#timeRemaining"); +function setAlarm() { + 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(); + return; + } + }, 1000); +} +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/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..9c15cc358 100644 --- a/Sprint-3/alarmclock/index.html +++ b/Sprint-3/alarmclock/index.html @@ -4,13 +4,13 @@ - Title here + Alarm Clock App

Time Remaining: 00:00

- + 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" + } } 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 {