Skip to content

host the bottom bar in a navigation stack - #85

Closed
austin-smith wants to merge 1 commit into
mainfrom
fix-bottom-toolbar-teardown
Closed

austin-smith wants to merge 1 commit into
mainfrom
fix-bottom-toolbar-teardown

Conversation

@austin-smith

@austin-smith austin-smith commented Jul 20, 2026

Copy link
Copy Markdown
Owner

Closed and superseded. Original description removed.

The iOS bottom bar had no navigation host: ContentView sits bare in the
WindowGroup, so `.bottomBar` items were bridged onto the window root and
board mutations tore them down — the bar visibly blanked and returned on
every stock draw. It also left `.toolbar(_:for: .bottomBar)` inert, which
is why picker visibility was faked by emptying the item list.

Wrap the board in a NavigationStack that only ever hosts (never pushes,
own navigation bar hidden), and drive picker visibility through the real
visibility API.

The stack adds a subtree that is measured before layout and reports a
frame with a real origin but no size, e.g. (148, 0, 0 x 0). The
single-frame preference keys rejected only `.zero`, so that candidate
passed the guard and clobbered the live stock/waste frames — every card
flight then launched from the top of the screen instead of the pile.
Guard on size instead, which is what the check meant all along.

Verified the flight planner's inputs are unchanged with the stack in
place: stock (12, 114.667, 47 x 68.15) and waste (67, 114.667, 63.92 x
68.15) match the pre-change build exactly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cursor

cursor Bot commented Jul 20, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@austin-smith
austin-smith deleted the fix-bottom-toolbar-teardown branch July 20, 2026 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant