@@ -446,6 +446,8 @@ export const Shuttle = ({ location }: ShuttleStop) => {
446
446
const { t } = useTranslation ( )
447
447
448
448
if ( timetable . data === undefined ) {
449
+ if ( currTimetable [ 0 ] . time !== '' )
450
+ setCurrTimetable ( [ { type : 'NA' , time : '' } ] )
449
451
return < > </ >
450
452
}
451
453
@@ -454,6 +456,8 @@ export const Shuttle = ({ location }: ShuttleStop) => {
454
456
}
455
457
456
458
if ( timetable . status === 'error' ) {
459
+ if ( currTimetable [ 0 ] . time !== '' )
460
+ setCurrTimetable ( [ { type : 'NA' , time : '' } ] )
457
461
// Timetable API error
458
462
return (
459
463
< >
@@ -471,6 +475,8 @@ export const Shuttle = ({ location }: ShuttleStop) => {
471
475
}
472
476
473
477
if ( timetable . data . length === 0 ) {
478
+ if ( currTimetable [ 0 ] . time !== '' )
479
+ setCurrTimetable ( [ { type : 'NA' , time : '' } ] )
474
480
// Timetable doesn't exist
475
481
return (
476
482
< >
@@ -482,17 +488,11 @@ export const Shuttle = ({ location }: ShuttleStop) => {
482
488
}
483
489
484
490
const filtered = timetable . data . filter ( ( val ) => isAfterCurrentTime ( val ) )
485
-
486
- // Send filtered[0](or also include filtered[1] when bus arrive simultaneously) Array to RouteVisual
487
- // when filtered has been updated.
488
- if ( filtered [ 0 ] !== currTimetable [ 0 ] ) {
489
- if ( filtered . length >= 2 && filtered [ 0 ] . time === filtered [ 1 ] . time )
490
- setCurrTimetable ( [ filtered [ 0 ] , filtered [ 1 ] ] )
491
- else setCurrTimetable ( [ filtered [ 0 ] ] )
492
- }
493
-
494
491
const reverted = filtered . map ( ( val ) => convertUnixToTime ( val ) )
492
+
495
493
if ( filtered . length === 0 ) {
494
+ if ( currTimetable [ 0 ] . time !== '' )
495
+ setCurrTimetable ( [ { type : 'NA' , time : '' } ] )
496
496
// Buses are done for today. User should refresh after midnight.
497
497
return (
498
498
< >
@@ -503,6 +503,14 @@ export const Shuttle = ({ location }: ShuttleStop) => {
503
503
)
504
504
}
505
505
506
+ // Send filtered[0](or also include filtered[1] when bus arrive simultaneously) Array to RouteVisual
507
+ // when filtered has been updated.
508
+ if ( filtered [ 0 ] !== currTimetable [ 0 ] ) {
509
+ if ( filtered . length >= 2 && filtered [ 0 ] . time === filtered [ 1 ] . time )
510
+ setCurrTimetable ( [ filtered [ 0 ] , filtered [ 1 ] ] )
511
+ else setCurrTimetable ( [ filtered [ 0 ] ] )
512
+ }
513
+
506
514
// Otherwise - normal case
507
515
return (
508
516
< >
0 commit comments