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 @@ -