-
-
Notifications
You must be signed in to change notification settings - Fork 193
West Midlands | 25-ITP-Sept | Mustaf Asani | Sprint 3 | Feature/alarmclock #921
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
5007c4b
f21c96e
b058970
b63c6de
e17bf30
8196fd6
29cacc9
250453e
9819f2c
6c486d4
3e235c6
9725399
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,60 @@ | ||
| function setAlarm() {} | ||
| let inputTime = 0; | ||
| let timer = null; | ||
| let changeBgColor = false; | ||
|
|
||
| function setAlarm() { | ||
| inputTime = Number(document.querySelector("#alarmSet").value); | ||
|
|
||
| if (Number.isInteger(inputTime) && !isNaN(inputTime) && inputTime >= 0) { | ||
| if (inputTime === 10) { | ||
| changeBgColor = true; | ||
| } else if (inputTime === 0) { | ||
| displayTime(inputTime); | ||
| playAlarm(); | ||
| } | ||
| displayTime(inputTime); | ||
|
Comment on lines
+11
to
+15
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When |
||
| if (timer) clearInterval(timer); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What else should also be reset before starting a new countdown? |
||
| timer = setInterval(countDown, 1000); | ||
| } | ||
| } | ||
|
|
||
| function displayTime(totalTime) { | ||
| const seconds = totalTime % 60; | ||
| const minutes = (totalTime - seconds) / 60; | ||
| const timeLeft = document.querySelector("#timeRemaining"); | ||
| timeLeft.innerText = `Time Remaining: ${minutes | ||
| .toString() | ||
| .padStart(2, 0)}:${seconds.toString().padStart(2, 0)}`; | ||
| } | ||
|
|
||
| function countDown() { | ||
| inputTime--; | ||
| if (inputTime >= 0) { | ||
| displayTime(inputTime); | ||
| } | ||
|
|
||
| if (inputTime === 0) { | ||
| playAlarm(); | ||
|
|
||
| if (changeBgColor) { | ||
| changeColor(); | ||
| changeBgColor = false; | ||
| } | ||
|
|
||
| clearInterval(timer); | ||
| timer = null; | ||
| } | ||
| } | ||
|
|
||
| function changeColor() { | ||
| const bgColor = document.querySelector("div"); | ||
| bgColor.classList.add("myBgColor"); | ||
| } | ||
| /* | ||
| the the value for time remaining | ||
| check its a valid time (greater than 00:00) | ||
| decrease value of time remaining by 1 sec for each sec that passes | ||
| */ | ||
|
|
||
| // DO NOT EDIT BELOW HERE | ||
|
|
||
|
|
@@ -23,3 +79,31 @@ function pauseAlarm() { | |
| } | ||
|
|
||
| window.onload = setup; | ||
|
|
||
| /* | ||
| Given the user has entered a number in the input field When the user clicks the “Set Alarm” button Then the “Time Remaining” title should update to show the entered number in mm:ss format | ||
| take value from in input field and store it in a variable inputTime | ||
| check inputTime value is within the accepted range? | ||
| take variable inputTime and display it in time remaining section | ||
|
|
||
|
|
||
| Given the alarm is set with a valid time When one second passes Then the “Time Remaining” title should decrement by 1 second | ||
| the the value for time remaining | ||
| check its a valid time (greater than 00:00) | ||
| decrease value of time remaining by 1 sec for each sec that passes | ||
|
|
||
| Given the alarm is set with a time of 00:00 When the timer reaches 00:00 Then the alarm sound should play continuously | ||
| check time remaining, if it is equal to 00:00 then sound alarm | ||
|
|
||
|
|
||
| Given the alarm sound is currently playing When the user clicks the “Stop Alarm” button Then the alarm sound should stop playing | ||
| check if stop alarm button has been pressed | ||
| if true then check if alarm sound is playing then stop alarm sound if true | ||
|
|
||
| Given the alarm is set with a time of 00:10 When the timer reaches 00:00 Then the background color should change And the alarm sound should play | ||
| if inputTime is 00:10 and timer reaches 0 the change background color | ||
| play alarm sound | ||
|
|
||
| Given the user has not set an alarm When the page first loads Then the “Time Remaining” title should show 00:00 And no alarm sound should play | ||
| when page loads time remaining should 0 and no alarm sound should play | ||
| */ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could consider replacing by Suggestion: Use AI to find out why the latter is better. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of the checks is redundant.