Skip to content

Enhanced mobile tabContainer + navigator routing support #3984

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

amcclain
Copy link
Member

@amcclain amcclain commented May 5, 2025

Hoist P/R Checklist

Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

  • Caught up with develop branch as of last change.
  • Added CHANGELOG entry, or determined not required.
  • Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
  • Updated doc comments / prop-types, or determined not required.
  • Reviewed and tested on Mobile, or determined not required.
  • Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

/**
* Base route name for this navigator, with the route for each page being "[route]/[page.id]".
*/
route?: string;
Copy link
Member Author

Choose a reason for hiding this comment

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

Matching the config from tabContainerModel - allow dev to scope down routing responsiveness to a particular sub-path.

@amcclain
Copy link
Member Author

amcclain commented May 5, 2025

Goal here is to allow use of TabContainer and Navigator within nested sub-routes. Specifically looking to support an overall UI pattern where we have a top-level tab container, switchable primarily via a bottom tab-bar, and within each top-level tab we have a swipable, navigator-powered page stack.

Possible TODOs:

  • TabContainer should swap back to last-visited route within that tab when re-activated - i.e. maintain state as we expect with desktop.
  • Tapping the switcher button for an already-active tab should navigate to its base/default route

@amcclain
Copy link
Member Author

amcclain commented May 5, 2025

NOTE - had a good discussion with @ghsolomon and @oodarluz today and we are going to look to double-down on navigator only, allowing it to support the end-user experience I was trying to achieve here, without developers needing to setup multiple navigators and pair up with tabContainer.

See #3985 - evolving spec to capture the plan. Leaving this PR open in draft for the moment, but expect to close out this branch without merging in the near future.

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