based on the documentation :
To switch to a new route, use the Navigator.push() method. The push() method adds a Route to the stack of routes managed by the Navigator.
but this will cause an issue as if I click the back button it will get me back to the first screen root , so how I prevent that ? when i change the root i don't want the old one to be saved in the root stack
Navigator.push(
context, MaterialPageRoute(builder: (context) => HomeScreen()));