#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).
## #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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
#52 — NEXT TURN button into the right pane (v0.14.0)
The NEXT TURN button was a
position: fixedbottom-right viewport overlay sharingzIndex: 60/bottom: 1remwith 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:
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.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
TURN <n>text pass unchanged (role/name locators preserved).Closes #52