|
|
|
@@ -378,7 +378,7 @@ function LaneFilterFacetMultiButtons(props: { |
|
|
|
const next = new Set(selected); |
|
|
|
if (on) next.delete(opt); |
|
|
|
else next.add(opt); |
|
|
|
onChange([...next]); |
|
|
|
onChange(Array.from(next)); |
|
|
|
}} |
|
|
|
sx={laneFilterBtnSx} |
|
|
|
> |
|
|
|
@@ -659,9 +659,9 @@ function parseLanePickFacets( |
|
|
|
scan(remark); |
|
|
|
return { |
|
|
|
special, |
|
|
|
zones: [...zones], |
|
|
|
weekdays: [...weekdays], |
|
|
|
areas: [...areas], |
|
|
|
zones: Array.from(zones), |
|
|
|
weekdays: Array.from(weekdays), |
|
|
|
areas: Array.from(areas), |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
@@ -2280,14 +2280,14 @@ const RouteBoard: React.FC = () => { |
|
|
|
for (const area of facets.areas) areas.add(area); |
|
|
|
} |
|
|
|
return { |
|
|
|
specials: [...specials].sort(compareSpecialLaneToken), |
|
|
|
zones: [...zones].sort((a, b) => { |
|
|
|
specials: Array.from(specials).sort(compareSpecialLaneToken), |
|
|
|
zones: Array.from(zones).sort((a, b) => { |
|
|
|
const na = Number(/^區(\d+)/.exec(a)?.[1] ?? 0); |
|
|
|
const nb = Number(/^區(\d+)/.exec(b)?.[1] ?? 0); |
|
|
|
return na - nb || a.localeCompare(b, "zh-Hant"); |
|
|
|
}), |
|
|
|
weekdays: LANE_WEEKDAYS.filter((day) => weekdays.has(day)), |
|
|
|
areas: [...areas].sort(compareLaneAreaName), |
|
|
|
areas: Array.from(areas).sort(compareLaneAreaName), |
|
|
|
}; |
|
|
|
}, [lanes, laneFilter.floor]); |
|
|
|
|
|
|
|
|