aman-kassa-flutter/lib/redux/reducers/navigation_reducer.dart

25 lines
793 B
Dart

import 'package:redux/redux.dart';
import 'package:aman_kassa_flutter/redux/actions.dart';
final navigationReducer = combineReducers<List<String>>([
TypedReducer<List<String>, NavigateReplaceAction>(_navigateReplace),
TypedReducer<List<String>, NavigatePushAction>(_navigatePush),
TypedReducer<List<String>, NavigatePopAction>(_navigatePop),
]);
List<String> _navigateReplace(
List<String> route, NavigateReplaceAction action) =>
[action.routeName];
List<String> _navigatePush(List<String> route, NavigatePushAction action) {
var result = List<String>.from(route);
result.add(action.routeName);
return result;
}
List<String> _navigatePop(List<String> route, NavigatePopAction action) {
var result = List<String>.from(route);
result.removeLast();
return result;
}