Timezone should never be unless it has no state yet, so used that to simplify TimeOptions
This commit is contained in:
parent
b423f2894a
commit
01eacedde8
1 changed files with 8 additions and 13 deletions
|
@ -8,29 +8,24 @@ function classNames(...classes) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const TimeOptions = (props) => {
|
const TimeOptions = (props) => {
|
||||||
|
|
||||||
const [selectedTimeZone, setSelectedTimeZone] = useState('');
|
const [selectedTimeZone, setSelectedTimeZone] = useState('');
|
||||||
const [is24hClock, setIs24hClock] = useState(false);
|
const [is24hClock, setIs24hClock] = useState(false);
|
||||||
const [isReady, setIsReady ] = useState(false);
|
|
||||||
|
|
||||||
useEffect( () => {
|
useEffect( () => {
|
||||||
setIs24hClock(is24h());
|
setIs24hClock(is24h());
|
||||||
setSelectedTimeZone(timeZone());
|
setSelectedTimeZone(timeZone());
|
||||||
setIsReady(true);
|
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect( () => {
|
useEffect( () => {
|
||||||
if (!isReady) {
|
props.onSelectTimeZone(timeZone(selectedTimeZone));
|
||||||
return;
|
}, [selectedTimeZone]);
|
||||||
}
|
|
||||||
if (selectedTimeZone && selectedTimeZone !== timeZone()) {
|
|
||||||
props.onSelectTimeZone(selectedTimeZone)
|
|
||||||
}
|
|
||||||
if ([true,false].includes(is24h()) && is24hClock !== is24h()) {
|
|
||||||
props.onToggle24hFormat(is24hClock);
|
|
||||||
}
|
|
||||||
}, [is24hClock, selectedTimeZone]);
|
|
||||||
|
|
||||||
return isReady && (
|
useEffect( () => {
|
||||||
|
props.onToggle24hClock(is24h(is24hClock));
|
||||||
|
}, [is24hClock]);
|
||||||
|
|
||||||
|
return selectedTimeZone !== "" && (
|
||||||
<div className="w-full rounded shadow border bg-white px-4 py-2">
|
<div className="w-full rounded shadow border bg-white px-4 py-2">
|
||||||
<div className="flex mb-4">
|
<div className="flex mb-4">
|
||||||
<div className="w-1/2 font-medium">Time Options</div>
|
<div className="w-1/2 font-medium">Time Options</div>
|
||||||
|
|
Loading…
Reference in a new issue