janahan-law/store/reducers/wishList.js
2025-08-08 11:53:47 +05:30

43 lines
1.0 KiB
JavaScript

import { ADD_TO_WISHLIST, REMOVE_FROM_WISHLIST } from "../actions/type";
import { toast } from "react-toastify";
const init = {
w_list: [],
};
export const wishListReducer = (state = init, action) => {
switch (action.type) {
case ADD_TO_WISHLIST:
const productId = action.product.id;
if (
state.w_list.findIndex((product) => product.id === productId) !== -1
) {
toast.error("Item Removed from Wishlist");
const w_list = state.w_list.filter(
(product) => product.id !== productId
);
return { ...state, w_list };
}
toast.success("Item Added to Wishlist");
return {
...state,
w_list: [
...state.w_list,
{
...action.product,
},
],
};
case REMOVE_FROM_WISHLIST:
const w_productId = action.id;
const w_list = state.w_list.filter(
(product) => product.id !== w_productId
);
return { ...state, w_list };
default:
return state;
}
};
export default wishListReducer;