fix: NEXT TURN button into the right pane — full width, no longer overlapped (#52, v0.14.0) #54

Merged
kamilkrzywda merged 4 commits from feat/next-turn-button into master 2026-10-06 15:09:57 +02:00
Owner

#52 — NEXT TURN button into the right pane (v0.14.0)

The NEXT TURN button was a position: fixed bottom-right viewport overlay sharing zIndex: 60 / bottom: 1rem with the fixed bottom-left active-tasks strip; where the two boxes intersected, the strip (later in DOM order) painted over the button — the reported "covered by other button" bug. It was also small (SM).

Fix:

  • The button now lives inside the right pane as its last flex child (after CARGO HOLD): full width of the pane (100%), grown from SM to MD size, pinned to the pane bottom when the content is short (marginTop: auto) and scrolling with the pane when the cargo list is long. It is in normal flow now, so the strip can no longer cover it.
  • The right pane is outside the Radix tab content, so the button stays visible on every tab exactly as before.
  • Behavior unchanged: the TURN <n> counter, the EXEC styling, the in-flight request guard, and the snapshot refresh on tick are all preserved; the button is never disabled by game state (an empty queue is a free skip).

Verification

  • E2E (CI-only): new smoke spec — with a task queued (strip visible), asserts the button is full-width in the right pane (>= 280px, within +/-8px of the CARGO HOLD panel width) and that its bounding box does not intersect the active-tasks strip's.
  • All pre-existing e2e tests that click NEXT TURN / assert the TURN <n> text pass unchanged (role/name locators preserved).
  • Typecheck clean; unit suite 194/194 (no game logic touched).
  • Reviewer: approved (two comment-level nits fixed in a follow-up commit on the branch).

Closes #52

## #52 — NEXT TURN button into the right pane (v0.14.0) The NEXT TURN button was a `position: fixed` bottom-right viewport overlay sharing `zIndex: 60` / `bottom: 1rem` with the fixed bottom-left active-tasks strip; where the two boxes intersected, the strip (later in DOM order) painted over the button — the reported "covered by other button" bug. It was also small (SM). Fix: - The button now lives **inside the right pane** as its last flex child (after CARGO HOLD): **full width of the pane** (100%), grown from SM to MD size, pinned to the pane bottom when the content is short (`marginTop: auto`) and scrolling with the pane when the cargo list is long. It is in normal flow now, so the strip can no longer cover it. - The right pane is outside the Radix tab content, so the button stays visible on every tab exactly as before. - Behavior unchanged: the `TURN <n>` counter, the EXEC styling, the in-flight request guard, and the snapshot refresh on tick are all preserved; the button is never disabled by game state (an empty queue is a free skip). ### Verification - E2E (CI-only): new smoke spec — with a task queued (strip visible), asserts the button is full-width in the right pane (>= 280px, within +/-8px of the CARGO HOLD panel width) and that its bounding box does not intersect the active-tasks strip's. - All pre-existing e2e tests that click NEXT TURN / assert the `TURN <n>` text pass unchanged (role/name locators preserved). - Typecheck clean; unit suite 194/194 (no game logic touched). - Reviewer: approved (two comment-level nits fixed in a follow-up commit on the branch). Closes #52
kamilkrzywda added 4 commits 2026-10-06 15:06:11 +02:00
kamilkrzywda scheduled this pull request to auto merge when all checks succeed 2026-10-06 15:06:11 +02:00
kamilkrzywda merged commit 939c9695da into master 2026-10-06 15:09:57 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OpenCode/SpaceWanderer#54