Skip to content

Commit 2d9ca99

Browse files
committed
lint useTime
1 parent d827321 commit 2d9ca99

File tree

1 file changed

+30
-28
lines changed

1 file changed

+30
-28
lines changed

src/useTime.js

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,38 @@ import { useState, useEffect, useRef } from 'react';
44

55
export default function useTime(settings) {
66
const { format } = settings || {};
7+
78
const [seconds, setSeconds] = useState(0);
89
const [minutes, setMinutes] = useState(0);
910
const [hours, setHours] = useState(0);
1011
const [ampm, setAmPm] = useState('');
11-
1212
const intervalRef = useRef();
13+
14+
function formatHours(hoursValue) {
15+
if (format === '12-hour') {
16+
const ampmValue = hoursValue >= 12 ? 'pm' : 'am';
17+
let formattedHours = hoursValue % 12;
18+
formattedHours = formattedHours || 12;
19+
return { hoursValue: formattedHours, ampmValue };
20+
}
21+
return { hoursValue, ampmValue: '' };
22+
}
23+
24+
function setCurrentTime() {
25+
const now = new Date();
26+
const secondsValue = now.getSeconds();
27+
const minutesValue = now.getMinutes();
28+
const { hoursValue, ampmValue } = formatHours(now.getHours());
29+
30+
setSeconds(secondsValue);
31+
setMinutes(minutesValue);
32+
setHours(hoursValue);
33+
setAmPm(ampmValue);
34+
}
35+
36+
1337
function start() {
14-
if(!intervalRef.current) {
38+
if (!intervalRef.current) {
1539
setCurrentTime();
1640
intervalRef.current = setInterval(() => setCurrentTime(), 1000);
1741
}
@@ -28,36 +52,14 @@ export default function useTime(settings) {
2852
setAmPm('');
2953
}
3054

31-
function formatHours(hours) {
32-
if (format === '12-hour') {
33-
const ampm = hours >= 12 ? 'pm' : 'am';
34-
var formattedHours = hours % 12;
35-
formattedHours = formattedHours || 12;
36-
return { hours: formattedHours, ampm };
37-
}
38-
return { hours, ampm: '' };
39-
}
40-
41-
42-
function setCurrentTime() {
43-
var now = new Date();
44-
const seconds = now.getSeconds();
45-
const minutes = now.getMinutes();
46-
const { hours, ampm } = formatHours(now.getHours());
47-
48-
49-
setSeconds(seconds);
50-
setMinutes(minutes);
51-
setHours(hours);
52-
setAmPm(ampm);
53-
}
54-
5555
// didMount effect
5656
useEffect(() => {
5757
start();
5858
return reset;
59-
},[]);
59+
}, []);
6060

6161

62-
return { seconds, minutes, hours, ampm };
62+
return {
63+
seconds, minutes, hours, ampm,
64+
};
6365
}

0 commit comments

Comments
 (0)