Flight queue UI: dotted map line, left-pane Queue sub-section, e2e (ISS-043 part 2) #51

Merged
kamilkrzywda merged 2 commits from feat/flight-queue-ui into master 2026-09-20 13:57:39 +02:00
Owner

Part 2 of #43 — the frontend for chaining flights in a queue. Backend (queue column + add/cancel endpoints + auto-chain on landing) shipped in v0.25.0 (#50).

Changes:

  • lib/mapData.ts — new pure builder queuedRoutesGeoJson(planes, airportsByIcao): one LineString per flying plane with a non-empty queue, chaining dest → q[0] → … (not-yet-started legs only; the active leg stays in the solid layer). Reuses greatCircleArc; skips planes with any missing ICAO.
  • components/Map.tsx — new queue-routes GeoJSON source + dotted line layer (#64748b, width 3, dasharray [0.1, 1.5]), added after routes-legs and before the hover layers; pushed each poll in applyDynamicRef.
  • components/LeftPane.tsx — Queue sub-section in every on-board block: queue-leg-{i} rows with queue-cancel-{i} buttons, plus a queue-add-dest airport select + queue-add button (reuses the existing /api/airports fetch). On-board filter extended to also show planes with a non-empty queue. Cargo-row testids untouched.
  • app/globals.css — .queue-subsection / .queue-heading / .queue-row.
  • e2e/queue.spec.ts (new, serial) — UI add + cancel mid-flight; dotted map line via per-tile EPS endpoint check across segments (plain-object mapping in-page); auto-chain end-to-end.

No new endpoints → OpenAPI path list unchanged (twelve). Version 0.25.0 → 0.26.0.

Part 2 of #43 — the frontend for chaining flights in a queue. Backend (queue column + add/cancel endpoints + auto-chain on landing) shipped in v0.25.0 (#50). Changes: - `lib/mapData.ts` — new pure builder `queuedRoutesGeoJson(planes, airportsByIcao)`: one LineString per flying plane with a non-empty queue, chaining `dest → q[0] → …` (not-yet-started legs only; the active leg stays in the solid layer). Reuses `greatCircleArc`; skips planes with any missing ICAO. - `components/Map.tsx` — new `queue-routes` GeoJSON source + dotted line layer (`#64748b`, width 3, dasharray `[0.1, 1.5]`), added after `routes-legs` and before the hover layers; pushed each poll in `applyDynamicRef`. - `components/LeftPane.tsx` — Queue sub-section in every on-board block: `queue-leg-{i}` rows with `queue-cancel-{i}` buttons, plus a `queue-add-dest` airport select + `queue-add` button (reuses the existing `/api/airports` fetch). On-board filter extended to also show planes with a non-empty queue. Cargo-row testids untouched. - `app/globals.css` — `.queue-subsection` / `.queue-heading` / `.queue-row`. - `e2e/queue.spec.ts` (new, serial) — UI add + cancel mid-flight; dotted map line via per-tile EPS endpoint check across segments (plain-object mapping in-page); auto-chain end-to-end. No new endpoints → OpenAPI path list unchanged (twelve). Version 0.25.0 → 0.26.0.
kamilkrzywda added 1 commit 2026-09-20 13:33:12 +02:00
kamilkrzywda scheduled this pull request to auto merge when all checks succeed 2026-09-20 13:33:25 +02:00
kamilkrzywda added 1 commit 2026-09-20 13:48:38 +02:00
kamilkrzywda merged commit 85b7b07f53 into master 2026-09-20 13:57:39 +02:00
kamilkrzywda deleted branch feat/flight-queue-ui 2026-09-20 13:57:39 +02:00
Sign in to join this conversation.