import 'package:redux/redux.dart'; import 'package:aman_kassa_flutter/main.dart'; import 'package:aman_kassa_flutter/redux/actions.dart'; import 'package:aman_kassa_flutter/redux/app_state.dart'; List> createNavigationMiddleware() { return [ TypedMiddleware(_navigateReplace), TypedMiddleware(_navigate), ]; } _navigateReplace(Store store, action, NextDispatcher next) { final routeName = (action as NavigateReplaceAction).routeName; if (store.state.route.last != routeName) { navigatorKey.currentState.pushReplacementNamed(routeName); } next(action); //This need to be after name checks } _navigate(Store store, action, NextDispatcher next) { final routeName = (action as NavigatePushAction).routeName; if (store.state.route.last != routeName) { navigatorKey.currentState.pushNamed(routeName); } next(action); //This need to be after name checks }