Skip to content

Mobile tab bar polish#1368

Merged
wesbillman merged 5 commits into
mainfrom
kennylopez-mobile-tab-bar
Jun 30, 2026
Merged

Mobile tab bar polish#1368
wesbillman merged 5 commits into
mainfrom
kennylopez-mobile-tab-bar

Conversation

@klopez4212

@klopez4212 klopez4212 commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Makes the floating tab bar use the full 20px-gutter width.
  • Replaces per-tab active backgrounds with one moving selected pill.
  • Adjusts active/inactive icon weights and text weights.

Snapshots

Full-width floating tab bar aligned to the app gutters.

01-tabbar-full-width

Active/inactive icon and label weights.

02-tabbar-icon-weights

Checks

  • cd mobile && ../bin/dart format --output=none --set-exit-if-changed lib/features/home/home_page.dart
  • cd mobile && ../bin/flutter analyze lib/features/home/home_page.dart
  • Pre-push hook: mobile tests passed; Rust/Desktop hook pass was blocked by local /private/tmp disk exhaustion.

klopez4212 added a commit that referenced this pull request Jun 29, 2026
@klopez4212 klopez4212 marked this pull request as ready for review June 29, 2026 20:59
@klopez4212 klopez4212 requested a review from wesbillman June 29, 2026 20:59

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9583446a9f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread mobile/lib/features/home/home_page.dart Outdated

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks — the tab bar layout math and full mobile suite look good, but I found one accessibility regression in the new moving-pill behavior.

CHANGE: please honor MediaQuery.disableAnimations for the selected-pill slide. _FloatingTabDestination already disables the icon AnimatedSwitcher when reduced motion is requested, but _FloatingTabBar still hard-codes the pill AnimatedAlign to Duration(milliseconds: 180). Since this PR replaces the per-tab active background with a moving selected pill, users with Reduce Motion / disabled animations still get a horizontal slide whenever they switch tabs.

The fix should be small: read final reducedMotion = MediaQuery.of(context).disableAnimations; in _FloatingTabBar too, and use Duration.zero for the AnimatedAlign duration when it is true (matching the icon switcher behavior).

Validation I ran:

  • PATH="$PWD/bin:$PATH" just mobile-check
  • PATH="$PWD/bin:$PATH" just mobile-test ✅ (393 passed, 1 skipped)
  • git diff --check pr-1368-base...HEAD

@klopez4212

Copy link
Copy Markdown
Contributor Author

🤖 Addressed Wes’s requested change in 4efa53e: the floating tab pill now honors MediaQuery.disableAnimations by using Duration.zero for reduced-motion users. I also verified the focused analyze/test commands and the full pre-push hook passed.

@klopez4212 klopez4212 requested a review from wesbillman June 30, 2026 06:43
Base automatically changed from kennylopez-mobile-appearance-foundation to main June 30, 2026 14:22
Resolve the mobile accent color conflict by keeping the PR's Black default accent and current main's dark-mode foreground behavior.

Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesb@block.xyz>

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conflict fix looks good, and my prior reduced-motion blocker is addressed.

I verified the final PR diff after merging main is isolated to the mobile tab bar polish, with the accent conflict preserving both Black-as-default and dark-mode foreground contrast behavior.

Validation run locally:

  • PATH="$PWD/bin:$PATH" dart format --output=none --set-exit-if-changed mobile/lib/shared/theme/accent_colors.dart
  • PATH="$PWD/bin:$PATH" flutter analyze mobile/lib/shared/theme/accent_colors.dart mobile/lib/shared/theme/color_scheme.dart mobile/test/shared/theme/accent_colors_test.dart
  • cd mobile && PATH="$PWD/../bin:$PATH" flutter test test/shared/theme/accent_colors_test.dart
  • PATH="$PWD/bin:$PATH" just mobile-check
  • PATH="$PWD/bin:$PATH" just mobile-test

GitHub Mobile + DCO are green; one desktop integration shard is still pending at the time of approval.

Resolve home_page.dart conflict: adopt main's context.colors /
context.theme / context.textTheme accessors (#1401) while keeping the
PR's reduced-motion and selected-index polish.

Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman wesbillman enabled auto-merge (squash) June 30, 2026 23:13
@wesbillman wesbillman merged commit c444e34 into main Jun 30, 2026
25 checks passed
@wesbillman wesbillman deleted the kennylopez-mobile-tab-bar branch June 30, 2026 23:20
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.

2 participants