@@ -7,6 +7,7 @@ function setAlarm() {
77 const alarmClockInput = document . getElementById ( "alarmSet" ) ;
88 const clockDisplay = document . getElementById ( "timeRemaining" ) ;
99 let secondsRemaining = parseInt ( alarmClockInput . value , 10 ) ;
10+ const setBtn = document . getElementById ( "set" ) ;
1011
1112 if ( ! isValidInput ( secondsRemaining ) ) {
1213 alert ( "please enter a valid positive integer!" ) ;
@@ -15,31 +16,34 @@ function setAlarm() {
1516
1617 clearInterval ( intervalId ) ;
1718
19+ // pause any previous alarms when new countdown is set
20+ pauseAlarm ( ) ;
21+
1822 // display immediately on click;
19- const minutes = Math . floor ( secondsRemaining / 60 ) ;
20- const seconds = secondsRemaining % 60 ;
21- displayTime ( minutes , seconds , clockDisplay ) ;
23+ displayTime ( secondsRemaining , clockDisplay ) ;
2224
2325 intervalId = setInterval ( ( ) => {
2426 secondsRemaining -- ;
2527
2628 if ( secondsRemaining <= 0 ) {
2729 clearInterval ( intervalId ) ;
28- displayTime ( 0 , 0 , clockDisplay ) ;
30+ displayTime ( 0 , clockDisplay ) ;
2931 playAlarm ( ) ;
3032 return ;
3133 }
3234
3335 const minutes = Math . floor ( secondsRemaining / 60 ) ;
3436 const seconds = secondsRemaining % 60 ;
35- displayTime ( minutes , seconds , clockDisplay ) ;
37+ displayTime ( secondsRemaining , clockDisplay ) ;
3638 } , 1000 ) ;
3739}
3840
3941// formats and displays countdown time to a supplied element
40- function displayTime ( mins , secs , elem ) {
42+ function displayTime ( secondsRemaining , elem ) {
43+ const mins = Math . floor ( secondsRemaining / 60 ) ;
44+ const seconds = secondsRemaining % 60 ;
4145 const minsFormatted = String ( mins ) . padStart ( 2 , "0" ) ;
42- const secsFormatted = String ( secs ) . padStart ( 2 , "0" ) ;
46+ const secsFormatted = String ( seconds ) . padStart ( 2 , "0" ) ;
4347 elem . textContent = `Time Remaining: ${ minsFormatted } :${ secsFormatted } ` ;
4448}
4549
@@ -53,7 +57,7 @@ function isValidInput(input) {
5357 return false ;
5458 }
5559
56- if ( input < 0 ) {
60+ if ( input <= 0 ) {
5761 return false ;
5862 }
5963
0 commit comments