import '../../core/base/base_service.dart'; import 'package:flutter/material.dart'; class NavigatorService extends BaseService { final GlobalKey navigatorKey = GlobalKey(); Future navigateToPage(MaterialPageRoute pageRoute) async { log.i('navigateToPage: pageRoute: ${pageRoute.settings.name}'); if (navigatorKey.currentState == null) { log.e('navigateToPage: Navigator State is null'); return null; } return navigatorKey.currentState.push(pageRoute); } Future navigateToPageWithReplacement( MaterialPageRoute pageRoute) async { log.i('navigateToPageWithReplacement: ' 'pageRoute: ${pageRoute.settings.name}'); if (navigatorKey.currentState == null) { log.e('navigateToPageWithReplacement: Navigator State is null'); return null; } return navigatorKey.currentState.pushReplacement(pageRoute); } void pop([T result]) { log.i('goBack:'); if (navigatorKey.currentState == null) { log.e('goBack: Navigator State is null'); return; } navigatorKey.currentState.pop(result); } }