csells / go_router

The purpose of the go_router for Flutter is to use declarative routes to reduce complexity, regardless of the platform you're targeting (mobile, web, desktop), handling deep linking from Android, iOS and the web while still allowing an easy-to-use developer experience.
https://gorouter.dev
441 stars 96 forks source link

Add example breadcrumbs #261

Open jamesblasco opened 2 years ago

jamesblasco commented 2 years ago

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Example of how Breadcrumbs could look like. There are still some changes needed as matches variable is marked as visibleForTesting

https://user-images.githubusercontent.com/19904063/147143330-56a2d539-4ad8-4b20-8009-5b2686cfafad.mp4

It also showcase how it would look the Cupertino Back Button with the ContextMenu that displays previous routes

https://user-images.githubusercontent.com/19904063/147143764-090b227c-f410-4ec7-99a2-61a64e5f3684.mp4

:arrow_heading_down: What is the current behavior?

:new: What is the new behavior (if this is a feature change)?

:boom: Does this PR introduce a breaking change?

:bug: Recommendations for testing

:memo: Links to relevant issues/docs

:thinking: Checklist before submitting

csells commented 2 years ago

This PR isn't done until all of the ignore lines from the examples are dropped.

csells commented 2 years ago

Also, I really love the breadcrumbs example but I don't think the cupertino_back_button example shows off anything new and it's not as obvious when you run it what's going on. I think we keep the breadcrumbs example but drop that cupertino_back_button example. Thoughts?

csells commented 2 years ago

I finally, I think there needs to be some docs talking about the new publicly available GoRouterMatch to left folks know how they can get to the stack of matches for their own uses.

Looking good!

chunhtai commented 2 years ago

Since this package has been moved to https://github.com/flutter/packages/tree/main/packages/go_router

Can you create a pull request against the flutter/packages instead?