@@ -48,6 +48,7 @@ const Merchants: NextPage = (props) => {
48
48
false
49
49
)
50
50
const [ mSchedules , setMSchedules ] = useState < { [ k : string ] : Interval [ ] } > ( { } )
51
+ const [ mActive , setMActive ] = useState ( false )
51
52
52
53
useEffect ( ( ) => {
53
54
const timer = setInterval ( ( ) => {
@@ -56,7 +57,7 @@ const Merchants: NextPage = (props) => {
56
57
setServerTime ( now . setZone ( regionTZ ) )
57
58
} , 1000 )
58
59
return ( ) => {
59
- clearInterval ( timer ) // Return a funtion to clear the timer so that it will stop being called on unmount
60
+ clearInterval ( timer ) // Return a function to clear the timer so that it will stop being called on unmount
60
61
}
61
62
} , [ regionTZName , regionTZ ] )
62
63
@@ -190,10 +191,16 @@ const Merchants: NextPage = (props) => {
190
191
wanderingMerchants ,
191
192
merchantAPIData ,
192
193
mSchedules ,
194
+ mActive
193
195
] )
194
196
useEffect ( ( ) => {
195
- if ( currDate . minute < 30 || currDate . minute >= 55 ) setMerchantAPIData ( { } )
196
- } , [ currDate . minute ] )
197
+ // Changed to serverTime to prevent mActive from triggering early for time zones using 30 or 45 minute offsets
198
+ if ( serverTime . minute < 30 || serverTime . minute >= 55 ) {
199
+ setMerchantAPIData ( { } )
200
+ setMActive ( false )
201
+ }
202
+ else { setMActive ( true ) }
203
+ } , [ serverTime . minute ] )
197
204
return (
198
205
< >
199
206
< Head >
@@ -316,7 +323,7 @@ const Merchants: NextPage = (props) => {
316
323
</ a >
317
324
< div className = "absolute right-5 top-7" >
318
325
{ t ( 'last-updated' ) } :{ ' ' }
319
- { dataLastRefreshed . toLocaleString (
326
+ { ( viewLocalizedTime ? dataLastRefreshed : dataLastRefreshed . setZone ( regionTZ ) ) . toLocaleString (
320
327
view24HrTime
321
328
? DateTime . TIME_24_WITH_SECONDS
322
329
: DateTime . TIME_WITH_SECONDS
0 commit comments