import 'package:redux/redux.dart'; import 'package:time_progress_tracker/actions/actions.dart'; import 'package:time_progress_tracker/models/app_settings.dart'; import 'package:time_progress_tracker/models/app_state.dart'; import 'package:time_progress_tracker/reducers/has_loaded_reducer.dart'; import 'package:time_progress_tracker/reducers/time_progress_list_reducer.dart'; AppState appStateReducer(AppState state, dynamic action) { return AppState( hasSettingsLoaded: hasSettingsLoadedReducer(state.hasSettingsLoaded, action), hasProgressesLoaded: hasProgressesLoadedReducer(state.hasProgressesLoaded, action), timeProgressList: timeProgressListReducer(state.timeProgressList, action), appSettings: appSettingsReducers(state.appSettings, action), ); } final appSettingsReducers = combineReducers([ TypedReducer(_loadAppSettings).call, TypedReducer(_updateAppSettings).call, TypedReducer(_setDefaultSettings).call ]); AppSettings _loadAppSettings( AppSettings appSettings, AppSettingsLoadedActions nS) => nS.appSettings; AppSettings _setDefaultSettings( AppSettings appSettings, AppSettingsNotLoadedAction action) => AppSettings.defaults(); AppSettings _updateAppSettings( AppSettings appSettings, UpdateAppSettingsActions nS) => nS.appSettings;