Timezone should never be unless it has no state yet, so used that to simplify TimeOptions

This commit is contained in:
Alex van Andel 2021-06-20 00:08:48 +00:00
parent b423f2894a
commit 01eacedde8

View file

@ -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>