Closed simon-the-shark closed 3 weeks ago
@mikolaj-jalocha I believe I've applied the requirements. Very nice review :) - you're becoming a pro in this already. Thanks for all and let me know if I can merge :)
@mikolaj-jalocha I believe I've applied the requirements. Very nice review :) - you're becoming a pro in this already. Thanks for all and let me know if I can merge :)
LGTM!
Implements this feature requests:
65
85
84
I started with simple custom double linked queue in
BottomNavBarController
to keep track of tabs history, but then due to our android workaround I couldn't determine if thePopScope
blocking the pop is the one that prevents killing the app or is it my custom one in someMapView
that prevents pop to include it's own logic. I could have still implement these features in some way, but didn't consider it "nice" or "clean" enough.That's how I ended up implementing fully
Navigator
based navigation inTabBarView
. Now when we change a tab, what we really do is push newRoute
onto navigator stack. It has proper slide transitions from left or right and when we pop it slides back in reversed direction as well.Basically our nested
Navigator
keeps tracks of routes history and handles any navigation in the app now. We can also block any popping e.g. inMapView
when we want to hide a bottom sheet instead or unselect a marker with simplePopScope
in this route.BottomNavBarController
is now only listening to theseRoute
s changes with customRouteObserver
and is used to tell the world what the active tab is (e.g. to show proper icon on bottom nav bar). But when we want to make a change, we interact withNavigator
Hopefully, it's not an overkill solution :)