Skip to content

fix(v2): host the tab bar as a bottom overlay, not a scaffold bottomBar - #1227

Merged
bmc08gt merged 1 commit into
code/cashfrom
fix/v2-tab-bar-modal-overlay
Aug 12, 2026
Merged

fix(v2): host the tab bar as a bottom overlay, not a scaffold bottomBar#1227
bmc08gt merged 1 commit into
code/cashfrom
fix/v2-tab-bar-modal-overlay

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Problem

As a Material2 Scaffold bottomBar, the v2 tab bar couldn't be correct either way:

  • Hiding it for a BottomBar modal collapsed the scaffold's bottom slot, which grew the body viewport and re-laid-out the content beneath — visibly re-fanning the wallet's collapsing card stack when Add Money opened.
  • Keeping it visible drew the bar on top of the modal (a Scaffold bottomBar is painted over the content, where the modal lives), so z-order couldn't cover it.

Fix

Host AppNavigationBar as a bottom overlay over full-height nav content — which is exactly what its own doc always described ("a full-size, touch-transparent overlay pinned to the bottom"):

  • The body no longer resizes when the bar hides, so hiding it for a modal (restored) or a bill is free → no jump.
  • The modal renders over the now-absent bar → no bar over the modal.
  • LocalTabBarPadding is provided from the bar's tallest measured height, latched and gated to tab homes, so a modal-driven hide doesn't shrink the inset.
  • Content now scrolls edge-to-edge under the frosted bar, which is what the Haze blur wants.

Test Plan

  • App compiles; installed on emulator.
  • On device: open Add Money on the wallet → the tab bar is not drawn over the modal, and the card stack stays collapsed. Close it → everything returns cleanly. Tab switching, the frosted blur, and pushed detail screens (no tab bar, no phantom bottom gap) all look right; a presented bill still hides the bar.

As a Material2 Scaffold bottomBar the tab bar couldn't win either way: hiding it
for a modal collapsed the scaffold's bottom slot and re-laid-out the content
beneath (re-fanning the wallet's collapsing card stack), while keeping it visible
drew it on top of the modal (bottomBar is painted over content).

Move it to a bottom overlay over full-height nav content, as its own docs always
described. The body no longer resizes when the bar hides, so hiding it for a
BottomBar modal (restored) or a bill is free — no jump — and the modal renders
over the now-absent bar. LocalTabBarPadding is provided from the bar's tallest
measured height, latched and gated to tab homes, so a modal-driven hide doesn't
shrink the inset. Content now also scrolls edge-to-edge under the frosted bar,
which is what the Haze blur wants.
@github-actions github-actions Bot added the type: fix Bug fix label Aug 12, 2026
@bmc08gt
bmc08gt merged commit e34cb04 into code/cash Aug 12, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the fix/v2-tab-bar-modal-overlay branch August 12, 2026 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant