27 lines
618 B
JavaScript
27 lines
618 B
JavaScript
import * as types from '../constants/types'
|
|
|
|
const INITIAL_STATE = {
|
|
products: []
|
|
};
|
|
|
|
export default function (state = INITIAL_STATE, action) {
|
|
switch (action.type) {
|
|
case types.FETCH_PRODUCTS:
|
|
return {
|
|
...state, products: action.payload.map(product =>
|
|
({...product, compare: false})
|
|
)
|
|
};
|
|
case types.COMPARE_PRODUCT:
|
|
return {
|
|
...state, products: state.products.map(product =>
|
|
product.id === action.product.id ?
|
|
({...product, compare: !product.compare}) :
|
|
product
|
|
)
|
|
};
|
|
default:
|
|
return state
|
|
}
|
|
}
|