Skip to content

Instantly share code, notes, and snippets.

@manas-raj-shrestha
Created December 31, 2020 18:31
Show Gist options
  • Save manas-raj-shrestha/cfecdfda1771d7b88c47d84d4234ee9a to your computer and use it in GitHub Desktop.
Save manas-raj-shrestha/cfecdfda1771d7b88c47d84d4234ee9a to your computer and use it in GitHub Desktop.
import 'package:flutter/material.dart';
class NavigationService {
static GlobalKey<NavigatorState> navigatorKey =
new GlobalKey<NavigatorState>();
navigateTo(String routeName, {dynamic arguments}) {
return navigatorKey.currentState.pushNamed(routeName, arguments: arguments);
}
pop(value) {
return navigatorKey.currentState.pop(value);
}
goBack() {
return navigatorKey.currentState.pop();
}
popUntil(String desiredRoute) {
return navigatorKey.currentState.popUntil((route) {
return route.settings.name == desiredRoute;
});
}
pushNamedAndRemoveUntil(route, popToInitial) {
return navigatorKey.currentState.pushNamedAndRemoveUntil(
route,
(Route<dynamic> route) => popToInitial,
);
}
pushReplacementNamed(String desiredRoute, {dynamic arguments}) {
return navigatorKey.currentState.pushReplacementNamed(desiredRoute, arguments: arguments);
}
BuildContext getNavigationContext() {
return navigatorKey.currentState.context;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment