cart cookies workin'
This commit is contained in:
parent
261e89865c
commit
378534508b
@ -1,5 +1,6 @@
|
|||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
import { createContext, useState } from "react";
|
import { createContext, useState } from "react";
|
||||||
|
import Cookies from "universal-cookie";
|
||||||
|
|
||||||
export const CartContext = createContext({
|
export const CartContext = createContext({
|
||||||
items: [],
|
items: [],
|
||||||
@ -15,14 +16,26 @@ export const CartContext = createContext({
|
|||||||
export function CartProvider({ children }) {
|
export function CartProvider({ children }) {
|
||||||
|
|
||||||
const [cartProducts, setCartProducts] = useState([]);
|
const [cartProducts, setCartProducts] = useState([]);
|
||||||
|
const cookies = new Cookies();
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (cartProducts.length == 0) {
|
||||||
|
if (cookies.get('cart') != null && cookies.get('cart').length != 0)
|
||||||
|
setCartProducts(cookies.get('cart'));
|
||||||
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
cookies.set('cart', cartProducts, { path: '/', SameSite: 'strict', secure: true, maxAge: 2592000 })
|
||||||
|
|
||||||
|
|
||||||
|
}, [cartProducts]);
|
||||||
|
|
||||||
function addToCart(product, qty) {
|
function addToCart(product, qty) {
|
||||||
|
|
||||||
setCartProducts([...cartProducts, { ...product, quantity: parseFloat(qty), remaining: parseFloat(product.quantity) }]);
|
setCartProducts([...cartProducts, { ...product, quantity: parseFloat(qty), remaining: parseFloat(product.quantity) }]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getProductQuantity(id) {
|
function getProductQuantity(id) {
|
||||||
|
Loading…
Reference in New Issue
Block a user