mirror of
https://github.com/FranP-code/Pomodoro-Timer-with-Clockify-integration.git
synced 2025-10-12 23:52:30 +00:00
Added Timer logic
This commit is contained in:
88
src/components/MainPomodoroTimer.jsx
Normal file
88
src/components/MainPomodoroTimer.jsx
Normal 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
|
||||
Reference in New Issue
Block a user