Added Timer logic

This commit is contained in:
2021-09-20 18:40:43 -03:00
parent ac140b997a
commit e4df25e1b9
6 changed files with 111 additions and 8 deletions

View File

@@ -0,0 +1,88 @@
import react from 'react'
import React, {useState} from 'react'
const MainPomodoroTimer = (props) => {
const [minutes, setMinutes] = useState('61')
const [seconds, setSeconds] = useState('60')
const setTimeStyle = () => {
if (props.style === 'Regular'){
const minutes = 25
const seconds = 0
setMinutes(minutes)
setSeconds(seconds)
}
}
React.useEffect (
setTimeStyle, []
)
React.useEffect ( () => {
let idTimeOut
if (props.timerOn) {
idTimeOut = setTimeout(() => {
if (seconds === 0) {
setSeconds(59)
console.log(seconds)
setMinutes(minutes - 1)
} else {
const computedSeconds = seconds - 1
setSeconds(computedSeconds)
}
}, 1000)
} else {
setTimeStyle()
}
return () => {
clearInterval(idTimeOut)
}
}
)
const formatMinutes = () => {
if (minutes < 10) {
return '0' + minutes
}
else {
return minutes
}
}
const formatSeconds = () => {
if (seconds < 10) {
return '0' + seconds
}
else {
return seconds
}
}
return (
<div className="timer">
<div className="minutes">{formatMinutes()}</div>
<div className="separator">:</div>
<div className="seconds">{formatSeconds()}</div>
</div>
)
}
export default MainPomodoroTimer