navigationProvider top-level property

StateNotifierProvider<NavigationNotifier, NavigationState> navigationProvider
final

Implementation

final navigationProvider =
    StateNotifierProvider<NavigationNotifier, NavigationState>(
  (ref) {
    final routes = ref.watch(routesProvider);
    final popBehaviour = ref.watch(popBehaviourProvider);
    final uriRewriter = ref.watch(uriRewriterProvider);
    final initialUrl = routes.template.buildUri(const <String, String>{});

    final entry = routes.evaluate(null, initialUrl);
    if (entry == null) {
      throw Exception('No route found for initial route "/"');
    }
    return NavigationNotifier(
      initial: entry,
      routes: routes,
      popBehaviour: popBehaviour,
      uriRewriter: uriRewriter,
    );
  },
);