import { createReducer, on } from '@ngrx/store';
import { addShopData, deleteShopData } from './shop.action';

export interface DataState {
  data: ReadonlyArray<any>;
}

const initialSate = [
  {
    Quantity: 1,
    id: '1',
    name: 'Black Heals For Women',
    offerprice: '$699',
    src: './assets/img/ecommerce/products/1.png',
    price: '$999',
    color: 'Brown Color',
    size: 'Size : M',
    discount: '30%',
  },
  {
    Quantity: 2,
    id: '2',
    name: 'Sun Glasses',
    offerprice: '$699',
    src: './assets/img/ecommerce/products/7.png',
    price: '$1,198',
    color: 'White Color',
    size: 'Adjustable',
    discount: '10%',
  },
  {
    Quantity: 0,
    id: '3',
    name: 'Leather Wallet For Girls',
    offerprice: '$150',
    src: './assets/img/ecommerce/products/10.png',
    price: '$500',
    color: 'White Color',
    discount: '5%',
  },
  {
    Quantity: 0,
    id: '4',
    name: 'Dolor Rose Frangrance Perfume',
    offerprice: '$299',
    src: './assets/img/ecommerce/products/5.png',
    price: '$199',
    color: 'Jasmine Fragrance',
    size: '500 ML',
    discount: '10%',
  },
  {
    Quantity: 0,
    id: '5',
    name: 'Dolor Wireless Airpods ',
    offerprice: '$499',
    src: './assets/img/ecommerce/products/4.png',
    price: '$499',
    color: 'White',
    size: 'Bluetooth',
    discount: '0%',
  },
 
];

export const dataReaducer = createReducer(
  initialSate,
  on(addShopData, (state, { data }) => {
    return [...state, data[0]];
  }),
  on(deleteShopData, (state, { id }) => {
    const updatedPosts = state.filter((post) => {
      return post.id !== id;
    });
    return (state = updatedPosts);
  })
);