();
+ for (const ch of flightBitString) {
+ const n = Number(ch);
+ if (Number.isInteger(n) && n >= 1 && n <= 7) activeDays.add(n);
+ }
return (
{DAY_INDEXES.map((i) => {
- const isActive = flightBitString[i] === "1";
+ const dayNumber = i + 1;
+ const isActive = activeDays.has(dayNumber);
const className = isActive ? "day" : "day day--inactive";
return (
= ({ flightBitString }) =
className={className}
data-testid={`day-of-week-${i}`}
>
- {t(`DAYS.${i + 1}`)}
+ {t(`DAYS.${dayNumber}`)}
);
})}
diff --git a/src/features/online-board/components/FlightSchedule/FlightSchedule.test.tsx b/src/features/online-board/components/FlightSchedule/FlightSchedule.test.tsx
index db547156..b2befc3f 100644
--- a/src/features/online-board/components/FlightSchedule/FlightSchedule.test.tsx
+++ b/src/features/online-board/components/FlightSchedule/FlightSchedule.test.tsx
@@ -159,10 +159,10 @@ describe("FlightSchedule", () => {
});
// TZ §4.1.16.8: uses daysOfWeek.flight (schedule days), not .current (today's active day)
- it("uses daysOfWeek.flight bitstring for active days, not .current", () => {
- // current = daily, flight = Mon/Wed/Fri only ("1010100")
+ it("uses daysOfWeek.flight digit-list for active days, not .current", () => {
+ // current = daily ("1234567"), flight = Mon/Wed/Fri only ("135")
const flight = makeFlight({
- daysOfWeek: { current: "1111111", flight: "1010100" },
+ daysOfWeek: { current: "1234567", flight: "135" },
});
render();
// Mon(0), Wed(2), Fri(4) should be active