Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
40 lines (37 sloc) 1.96 KB
import 'package:invoiceninja_flutter/redux/ui/ui_reducer.dart';
import 'package:invoiceninja_flutter/redux/auth/auth_actions.dart';
import 'package:invoiceninja_flutter/redux/app/app_state.dart';
import 'package:invoiceninja_flutter/redux/app/loading_reducer.dart';
import 'package:invoiceninja_flutter/redux/auth/auth_reducer.dart';
import 'package:invoiceninja_flutter/redux/static/static_reducer.dart';
import 'package:invoiceninja_flutter/redux/company/company_reducer.dart';
// We create the State reducer by combining many smaller reducers into one!
AppState appReducer(AppState state, dynamic action) {
if (action is UserLogout) {
return AppState().rebuild((b) => b
..authState.replace(state.authState)
..uiState.enableDarkMode = state.uiState.enableDarkMode);
} else if (action is LoadStateSuccess) {
return action.state.rebuild((b) => b
..isLoading = false
..isSaving = false
);
}
return state.rebuild((b) => b
..isLoading = loadingReducer(state.isLoading, action)
..isSaving = savingReducer(state.isSaving, action)
..authState.replace(authReducer(state.authState, action))
..staticState.replace(staticReducer(state.staticState, action))
..companyState1.replace(state.uiState.selectedCompanyIndex == 1
? companyReducer(state.companyState1, action) : state.companyState1)
..companyState2.replace(state.uiState.selectedCompanyIndex == 2
? companyReducer(state.companyState2, action) : state.companyState2)
..companyState3.replace(state.uiState.selectedCompanyIndex == 3
? companyReducer(state.companyState3, action) : state.companyState3)
..companyState4.replace(state.uiState.selectedCompanyIndex == 4
? companyReducer(state.companyState4, action) : state.companyState4)
..companyState5.replace(state.uiState.selectedCompanyIndex == 5
? companyReducer(state.companyState5, action) : state.companyState5)
..uiState.replace(uiReducer(state.uiState, action))
);
}