Fail early on nullable context objects - no code paths allow null
Eliminate superfluous private function
Use a function over an abstract class with one method
* Add duration parameter to FadeTransitionPage
* Use didChangeDependencies instead of didUpdateWidget
* Don't notify listeners if the path hasn't changed
* Update navigation sample WIP
* Use Link and RouteStateScope in settings screen
* update README
* use named parameters for Library.addBook()
* Make _handleAuthStateChanged synchronous
* add missing copyright headers
* Address code review comments
* Address code review comments
* move snippets into old_snippets directory
* add new navigation_and_routing sample
* add copyright headers
* Apply #827 to old_snippets/ directory and upgrade them to null safety
* Code review comments
- Move Guard class into parser.dart
- Move usage of guards from Delegate to RouteInformationParser
- Rename delegate to SimpleRouterDelegate
* clean up imports
* refactor settings screen, fix bug
* avoid conflicting paths /books/new and /books/1 - rename to book/1
* dispose fields in _BookstoreState class
* remove /books path
This was causing problems
* add comment
* Change BookstoreAuthScope and BookstoreAuthScope to InheritedNotifier
* fix warnings
* Make the initial route configurable, set to '/signin'
* Enable deep linking
https://flutter.dev/docs/development/ui/navigation/deep-linking
* use path URL strategy on the web.
* remove TODO, add comment