Merge On board into Fleet list — single per-plane block (ISS-054, v0.33.0) #64

Merged
kamilkrzywda merged 1 commits from feat/merge-onboard-into-fleet into master 2026-09-21 03:16:40 +02:00
Owner

What changed (ISS-054 — "Merge 'On board' view to 'Fleet' list of planes; there should be a single place with all plane info")

The left pane's two per-plane surfaces are now one: each plane has a single block in the Fleet list carrying everything that used to live in the separate On board section.

  • components/LeftPane.tsx — deleted the "On board" section (wrapper, heading, membership filter). Each Fleet row (plane-{id}) is now the full per-plane block: header (model + "in flight" badge and current leg when flying, location ICAO when grounded), fuel bar, fuel/loadout/location sub-row, then — only when present — the cargo rows (fly-to / refuel-for-flight / abandon with penalty preview) and the queue legs with their Cancel buttons.
  • app/globals.css — nested cargo/queue row styling re-targeted from .onboard-block .contract-row* to .plane-row .contract-row*; visual result unchanged (transparent sub-rows under the plane card).
  • The empty "Queue" heading is no longer rendered for planes with an empty queue.

No API changes, no hover-protocol changes (block-level plane halo + per-cargo-row package trace are preserved), and all per-item testids survive — only the redundant onboard-{plane.id} block id was removed, so four e2e locators now use the existing plane-{id} row id.

Tests

  • e2e/hover.spec.ts, right-pane.spec.ts, two-planes.spec.ts — the four onboard-* block references updated to plane-*.
  • e2e/panes.spec.ts — "On board heading visible" assertions replaced with heading-absence checks (the section no longer exists).
  • Local: tsc clean · vitest 327 passed in 32 files · playwright list 52 tests in 14 files (all baseline-exact; e2e verified in CI).

Completes ISS-054.

## What changed (ISS-054 — "Merge 'On board' view to 'Fleet' list of planes; there should be a single place with all plane info") The left pane's two per-plane surfaces are now one: each plane has a **single block in the Fleet list** carrying everything that used to live in the separate On board section. - `components/LeftPane.tsx` — deleted the "On board" section (wrapper, heading, membership filter). Each Fleet row (`plane-{id}`) is now the full per-plane block: header (model + "in flight" badge and current leg when flying, location ICAO when grounded), fuel bar, fuel/loadout/location sub-row, then — only when present — the cargo rows (fly-to / refuel-for-flight / abandon with penalty preview) and the queue legs with their Cancel buttons. - `app/globals.css` — nested cargo/queue row styling re-targeted from `.onboard-block .contract-row*` to `.plane-row .contract-row*`; visual result unchanged (transparent sub-rows under the plane card). - The empty "Queue" heading is no longer rendered for planes with an empty queue. **No API changes**, no hover-protocol changes (block-level plane halo + per-cargo-row package trace are preserved), and all per-item testids survive — only the redundant `onboard-{plane.id}` block id was removed, so four e2e locators now use the existing `plane-{id}` row id. ## Tests - `e2e/hover.spec.ts`, `right-pane.spec.ts`, `two-planes.spec.ts` — the four `onboard-*` block references updated to `plane-*`. - `e2e/panes.spec.ts` — "On board heading visible" assertions replaced with heading-absence checks (the section no longer exists). - Local: tsc clean · vitest 327 passed in 32 files · playwright list 52 tests in 14 files (all baseline-exact; e2e verified in CI). Completes ISS-054.
kamilkrzywda added 1 commit 2026-09-21 03:06:19 +02:00
Merge On board into Fleet list — single per-plane block (ISS-054, v0.33.0)
CI / build + unit + e2e (pull_request) Successful in 10m18s
e55078fb5d
kamilkrzywda scheduled this pull request to auto merge when all checks succeed 2026-09-21 03:06:31 +02:00
kamilkrzywda merged commit 264778522c into master 2026-09-21 03:16:40 +02:00
kamilkrzywda deleted branch feat/merge-onboard-into-fleet 2026-09-21 03:16:40 +02:00
Sign in to join this conversation.