location.js 2.17 KB
export const setStartLocationSaga = 'setStartLocationSaga';
export const setEndLocationSaga = 'setEndLocationSaga';
export const setKickLocationsSaga = 'setKickLocationsSaga';
export const setKickRouteSaga = 'setKickRouteSaga';

export const setStartLocationReducer = 'setStartLocationReducer';
export const setEndLocationReducer = 'setEndLocationReducer';
export const setKickLocationsReducer = 'setKickLocationsReducer';
export const setKickRouteReducer = 'setKickRouteReducer';
export const resetLaneReducer = 'resetLaneReducer';

export const initialState = {
    startLocation: null,
    endLocation: null,
    kickLocationsArray: [[], [], []],
    lane: [],
    distance: null,
    times: null,
};

export default (state = initialState, action) => {
    switch (action.type) {
        case setStartLocationSaga: {
            return {
                ...state,
            };
        }
        case setEndLocationSaga: {
            return {
                ...state,
            };
        }
        case setKickLocationsSaga: {
            return {
                ...state,
            };
        }
        case setKickRouteSaga: {
            return {
                ...state,
            }
        }

        case setStartLocationReducer: {
            const {location} = action.data;
            return {
                ...state,
                startLocation: location
            }
        }
        case setEndLocationReducer: {
            const {location} = action.data;
            return {
                ...state,
                endLocation: location
            }
        }
        case setKickLocationsReducer: {
            let {kickLocationsArray} = action.data;
            return {
                ...state,
                kickLocationsArray,
            }
        }
        case setKickRouteReducer: {
            let {lane, distance, time} = action.data;
            return {
                ...state,
                lane, distance, time,
            }
        }
        case resetLaneReducer: {
            return {
                ...state,
                lane: [],
            }
        }

        default: {
            return {
                ...state,
            };
        }
    }
};