Flutter has only one Navigator object.
This widget manages Flutter’s screens
(also called routes or pages) inside a stack.
The screen at the top of the stack is the view that
is currently displayed. Pushing a new screen to this
stack switches the display to that new screen.
This is why the _showWelcomeScreen function pushes
the WelcomeScreen onto the Navigator’s stack.
The user clicks the button and, voila,
the welcome screen appears. Likewise,
calling pop() on the Navigator returns to the
previous screen. Because Flutter’s navigation is
integrated into the browser’s navigation,
this happens implicitly when clicking the browser’s
back arrow button.

Step 2: Enable sign in progress tracking

This sign in screen has three fields.
Next, you will enable the ability to track the
user’s progress on filling in the form fields,
and update the app’s UI when the form is complete.