shareDetailReducer.js 812 Bytes
'use strict';

import InitialState from './shareDetailInitialState';
import Immutable, {List} from "immutable";

const {
    SHARE_DETAIL_REQUEST,
    SHARE_DETAIL_SUCCESS,
    SHARE_DETAIL_FAILURE
} = require('../../constants/actionTypes').default;

const initialState = new InitialState;

export default function appReducer(state = initialState, action) {
    if (!(state instanceof InitialState)) return initialState.merge(state);

    switch (action.type) {
        case SHARE_DETAIL_REQUEST:
            return state.set('isFetching', true);
        case SHARE_DETAIL_SUCCESS:
            return state.set('isFetching', false)
            .set('productInfo', Immutable.fromJS(action.payload));
        case SHARE_DETAIL_FAILURE:
            return state.set('isFetching', false);
    }

    return state;
}