summaryrefslogtreecommitdiff
path: root/src/core/utils/cart.js
blob: 52e157f25ac121edd430d26b7745b5036536232f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const getCart = () => {
  if (typeof window !== 'undefined') {
    const cart = localStorage.getItem('cart')
    if (cart) return JSON.parse(cart)
  }
  return {}
}

const setCart = (cart) => {
  if (typeof window !== 'undefined') {
    localStorage.setItem('cart', JSON.stringify(cart))
  }
  return true
}

const getItemCart = ({ productId }) => {
  let cart = getCart()
  return cart[productId]
}

const updateItemCart = ({ productId, quantity, selected = false }) => {
  let cart = getCart()
  quantity = parseInt(quantity)
  cart[productId] = { productId, quantity, selected }
  setCart(cart)
  return true
}

const deleteItemCart = ({ productId }) => {
  let cart = getCart()
  delete cart[productId]
  setCart(cart)
  return true
}

export {
  getCart,
  getItemCart,
  updateItemCart,
  deleteItemCart
}