forwardAndRemoveUntil static method

Future forwardAndRemoveUntil(
  1. Widget widget,
  2. String route,
  3. {String? name}
)

Forward navigation and remove all routes until, it's similar to Navigator.of(context).pushAndRemoveUntil

Implementation

static Future<dynamic> forwardAndRemoveUntil(Widget widget, String route,
    {String? name}) async {
  if (onBeforePush != null) {
    onBeforePush!(widget);
  }

  dynamic routeFuture = await navigatorKey.currentState!.pushAndRemoveUntil(
    useCupertinoTransition
        ? CupertinoPageRoute(
            builder: (_) => widget,
            settings: RouteSettings(name: name ?? widget.toString()),
          )
        : MaterialPageRoute(
            builder: (_) => widget,
            settings: RouteSettings(name: name ?? widget.toString()),
          ),
    (r) => r.settings.name == route,
  );

  if (onAfterPush != null) {
    onAfterPush!(widget);
  }
  return routeFuture;
}