SchabanBo / qlevar_router

Manage you project Routes. Create nested routes. Simply navigation without context to your pages. Change only one sub widget in your page when navigating to new route.
MIT License
86 stars 22 forks source link

web browser stack on ReplaceAll function [Web] #136

Closed kiaxseventh closed 8 months ago

kiaxseventh commented 1 year ago

hello dear @SchabanBo i think QlevarRouter is the best of Flutter Router Navigator packages

but it seems that the community has not paid the necessary attention to it Anyway I'd like one very special feature on this package The times when used the replace function family (like ReplaceAll), but the desired page remains in the browser's stack, and the page that needs to be replaced can be viewed by clicking Back on the browser.

This scenario can be seen well in your example Dashboard with splash page Example

When you click on the login button (with authentication or without authentication), you can go to the SplashScreen page by pressing the browser's back button

kiaxseventh commented 1 year ago

@SchabanBo

Gino1963 commented 1 year ago

Yes Qlevar is the best !!!!! I have the same ploblem. When I use QR.back() I return to the previous page but not always the old page is removed from the stack.

Thanks Biagio

SchabanBo commented 1 year ago

Thank you for your positive feedback, I truly appreciate it. While I'm not certain about the feasibility of removing routes from the browser history, I will definitely search a way to do this.

kiaxseventh commented 1 year ago

I will check this issue page daily, hoping that you can find a solution for it. 😊🤩

SchabanBo commented 1 year ago

So, it looks like we cannot remove entries from the browser history. I didn't find a way to do this. But we could add a way, so we don't add a route to the browser history using Router.neglect. For more info, see this.

kiaxseventh commented 1 year ago

hello again

1- can you check this pages please , i think it can help for example : on replaceAll method remove all last history of browser stack ... or any other way ...

Could you please check these pages? I believe they can be helpful. For example, when using the replaceAll method, you can remove the entire browser history stack. or any other similar method...

https://github.com/flutter/flutter/issues/108114

2- I have checked GetX, and it doesn't have this issue.

In GetX, when using Get.offAllNamed, there is no possibility to return to the previous page, and it is removed from the browser history.

I have examined the GetX source extensively, but I couldn't figure out how it accomplishes this. You can also take a look and investigate it. Your experience and knowledge are much deeper and stronger than mine. i

SchabanBo commented 1 year ago

@kiaxseventh Can you provide the code for GetX where this did work.