<https://twitter.com/bashorov/status/1782770517860...
# compose
e
I have support for it here in an unreleased library that I'm working on. https://github.com/eygraber/immich-kmp/tree/master/virtue/history/src
👍 1
The main difficulty is that the browser's History API is a superset of the typical mobile navigation API. Mobile generally goes back one screen at a time, while History can go backwards or forwards an arbitrary amount of screens. History can do this because conceptually it's a list with a movable pointer, as opposed to mobile's concept of a stack, and that list isn't pruned until a new branch is made. e g. If the user navigates to A, B, C, and then goes back twice, the current screen would be A, but B and C are still "available" to navigate forward to. If the user then navigates to D, then B and C are pruned. I was able to make my implementation work across the browser and mobile because mobile plays nicely with the browser's way of doing things; it just doesn't provide the user with a UI to move forward, or backwards more than one screen. I'd prefer to use compose navigation, but unless it switches to that kind of model internally, I don't know if it can opaquely provide browser support.
a
https://github.com/aSoft-Ltd/captain supports this kind of navigation throughout. But its purely a url based navigation library
👍 1