appReducer.ts 678 B

123456789101112131415161718192021222324
  1. import { AppActionType, AppAction, SetDistributionAction } from '../actions/appActions'
  2. import { Reducer } from 'redux'
  3. import { HeliosDistribution } from 'common/distribution/DistributionFactory'
  4. export interface AppState {
  5. distribution: HeliosDistribution | null
  6. }
  7. const defaultAppState: AppState = {
  8. distribution: null!
  9. }
  10. const AppReducer: Reducer<AppState, AppAction> = (state = defaultAppState, action) => {
  11. switch(action.type) {
  12. case AppActionType.SetDistribution:
  13. return {
  14. ...state,
  15. distribution: (action as SetDistributionAction).payload
  16. }
  17. }
  18. return state
  19. }
  20. export default AppReducer