slovnicki / beamer

A routing package built on top of Router and Navigator's pages API, supporting arbitrary nested navigation, guards and more.
MIT License
589 stars 130 forks source link

Deeplinking to nested beams #553

Open ericf-br opened 2 years ago

ericf-br commented 2 years ago

I can't seem to find a way to do this.

The main app has a BeamerDelegate with Locations A, B, C. Location A is a BottomNavBar with it's own Beamer and Delegate, D, E ,F

A deep link such as myapp://myapp.com/B will work.
A deep link to myapp://myapp.com/E will NOT work because it's delegate is not the main app's delegate, so you get page not found. I can't find a way to "forward" the deep link to the bottom nav bar's BeamerDelegate.

Thoughts?

IlyaMax commented 2 years ago

@ericf-br at least there is one work around you can use: navigate to concrete tab you want with something like bloc/cubit/valuenotifier. And then navigate to concrete screen via tab beamer delegate.

rivella50 commented 2 years ago

I handle incoming links and write them into a state object. Then the listener decides where to navigate, and therefore you could use a nested path for directly navigating to location E, e.g. with a path '/A/E'.

NeroThroN commented 2 years ago

@ericf-br I've found the same issue when creating this example.

Have you other weird behaviors on your main app structure with nested navigation and BottomNavBar ?

(Don't hesitate to take a look at the example's PR to see if you have already fix some of the issues listed)

slovnicki commented 2 years ago

myapp://myapp.com/E will NOT work

This is because E is inside the A router, so A router has to be built/entered first. A route like myapp://myapp.com/A/E and having A handle all /A/* paths should do the job.

LaysDragon commented 1 year ago

Well the nested beamer is still a separated navigator from root beamer as I understand,I can feeling there is design conflicting between "flutter app state styles url routing" and "web url navigation",and make its hard to deal with real web url stuff.🤔

Ashhas commented 1 year ago

@ericf-br were you able to figure out how to properly implement this? 😄