diff options
Diffstat (limited to 'src/pages')
| -rw-r--r-- | src/pages/shop/cart.js | 6 | ||||
| -rw-r--r-- | src/pages/shop/product/[slug].js | 14 |
2 files changed, 15 insertions, 5 deletions
diff --git a/src/pages/shop/cart.js b/src/pages/shop/cart.js index 90059d9a..4c954960 100644 --- a/src/pages/shop/cart.js +++ b/src/pages/shop/cart.js @@ -60,8 +60,8 @@ export default function Cart({ previousRoute }) { to_process: false })); setProducts(dataProducts); - setIsLoadingProducts(false); } + setIsLoadingProducts(false); } useEffect(() => { @@ -98,6 +98,10 @@ export default function Cart({ previousRoute }) { const blurQuantity = (productId, quantity) => { quantity = quantity == ('' || 0) ? 1 : parseInt(quantity); + if (typeof quantity === 'number') { + quantity = parseInt(quantity); + quantity = Math.floor(quantity); + } updateCart(productId, quantity); }; diff --git a/src/pages/shop/product/[slug].js b/src/pages/shop/product/[slug].js index b8d29d02..7ce55562 100644 --- a/src/pages/shop/product/[slug].js +++ b/src/pages/shop/product/[slug].js @@ -77,12 +77,18 @@ export default function ProductDetail({ product }) { } }, [selectedVariant, product]); - let onchangeVariant = (e) => { + const onchangeVariant = (e) => { setSelectedVariant(e.target.value); - setQuantity("1"); } - let addItemToCart = () => { + const onChangeQuantity = (e) => { + let inputValue = e.target.value; + inputValue = parseInt(inputValue); + inputValue = Math.floor(inputValue); + setQuantity(inputValue); + } + + const addItemToCart = () => { if (product.variant_total > 1 && !selectedVariant) { toast.error('Pilih varian terlebih dahulu untuk menambahkan ke keranjang', { duration: 2000 }); return false; @@ -148,7 +154,7 @@ export default function ProductDetail({ product }) { </div> <div className="w-3/12"> <label htmlFor="quantity" className="form-label mb-1">Jumlah</label> - <input type="number" name="quantity" id="quantity" className="form-input text-center is-invalid" value={quantity} onChange={(e) => setQuantity(e.target.value)} /> + <input type="number" name="quantity" id="quantity" className="form-input text-center is-invalid" value={quantity} onChange={onChangeQuantity} /> </div> </div> |
