import 'package:hmg_patient_app/locator.dart'; import 'package:flutter/material.dart'; MaterialPageRoute _pageRoute(Widget page) => MaterialPageRoute(builder: (BuildContext context) => page); class NavigationService { final GlobalKey navigatorKey = new GlobalKey(); static Future navigateTo(String routeName) { final key = locator().navigatorKey; return key.currentState!.pushNamed(routeName); } static Future navigateToPage(Widget page) { final key = locator().navigatorKey; final pageRoute = MaterialPageRoute(builder: (context) => page); return Navigator.push(key.currentContext!, pageRoute); } } class Navigate{ static to({required Widget page}){ final context = locator().navigatorKey.currentContext; Navigator.of(context!).push(_pageRoute(page)); } } BuildContext? get currentContext => locator().navigatorKey.currentContext;