diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-06 12:04:30 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-06 12:04:30 +0700 |
| commit | 620223f151700bbd91a33d32e2a4c29d4c287e9d (patch) | |
| tree | 8151774bc1f595fcc688b376e1e0c710efe3bf2e /src/pages/shop | |
| parent | dfff0da443a3e2d92b92c7c1632ca16e1da94e61 (diff) | |
no message
Diffstat (limited to 'src/pages/shop')
| -rw-r--r-- | src/pages/shop/cart.js | 53 | ||||
| -rw-r--r-- | src/pages/shop/checkout.js | 2 |
2 files changed, 20 insertions, 35 deletions
diff --git a/src/pages/shop/cart.js b/src/pages/shop/cart.js index aaf67e1f..d8327a10 100644 --- a/src/pages/shop/cart.js +++ b/src/pages/shop/cart.js @@ -20,7 +20,6 @@ import apiOdoo from "@/core/utils/apiOdoo"; import currencyFormat from "@/core/utils/currencyFormat"; // Components -import ConfirmAlert from "@/components/elements/ConfirmAlert"; import Image from "@/components/elements/Image"; import Layout from "@/components/layouts/Layout"; import Link from "@/components/elements/Link"; @@ -29,6 +28,7 @@ import Spinner from "@/components/elements/Spinner"; import AppBar from "@/components/layouts/AppBar"; import ProgressBar from "@/components/elements/ProgressBar"; import LineDivider from "@/components/elements/LineDivider"; +import useConfirmAlert from "@/lib/elements/hooks/useConfirmAlert"; export default function Cart() { const router = useRouter(); @@ -37,10 +37,6 @@ export default function Cart() { const [totalPriceBeforeTax, setTotalPriceBeforeTax] = useState(0); const [totalTaxAmount, setTotalTaxAmount] = useState(0); const [totalDiscountAmount, setTotalDiscountAmount] = useState(0); - const [deleteConfirmation, setDeleteConfirmation] = useState({ - productId: null, - show: false - }); useEffect(() => { const getProducts = async () => { @@ -117,47 +113,36 @@ export default function Cart() { updateCart(productId, quantity); } - const showDeleteConfirmation = (productId) => { - setDeleteConfirmation({ - productId: productId, - show: true - }); - } - - const hideDeleteConfirmation = () => { - setDeleteConfirmation({ - productId: null, - show: false - }); + const toggleProductSelected = (productId) => { + let productIndexToUpdate = products.findIndex((product) => product.id == productId); + let productsToUpdate = products; + productsToUpdate[productIndexToUpdate].selected = !productsToUpdate[productIndexToUpdate].selected; + setProducts([...productsToUpdate]); } - const deleteItem = () => { - const productId = deleteConfirmation.productId; + const deleteItem = (productId) => { let productIndexToUpdate = products.findIndex((product) => product.id == productId); let productsToUpdate = products; productsToUpdate.splice(productIndexToUpdate, 1); setProducts([...productsToUpdate]); deleteItemCart(productId); - hideDeleteConfirmation(); toast.success('Berhasil menghapus 1 barang dari keranjang', { duration: 1500 }); } - const toggleProductSelected = (productId) => { - let productIndexToUpdate = products.findIndex((product) => product.id == productId); - let productsToUpdate = products; - productsToUpdate[productIndexToUpdate].selected = !productsToUpdate[productIndexToUpdate].selected; - setProducts([...productsToUpdate]); - } + const { + openConfirmAlert, + ConfirmAlert + } = useConfirmAlert({ + title: 'Hapus barang dari keranjang', + caption:'Apakah anda yakin menghapus barang dari keranjang', + closeText: 'Batal', + submitText: 'Hapus', + onSubmit: deleteItem + }) return ( <> - <ConfirmAlert - title="Hapus barang dari keranjang" - caption="Apakah anda yakin menghapus barang dari keranjang?" - show={deleteConfirmation.show} - onClose={hideDeleteConfirmation} - onSubmit={deleteItem} - /> + { ConfirmAlert } <Layout> <AppBar title="Keranjang Saya" /> @@ -235,7 +220,7 @@ export default function Cart() { <div className="flex gap-x-2 items-center"> <button className="btn-red p-2 rounded" - onClick={() => showDeleteConfirmation(product.id)} + onClick={() => openConfirmAlert(product.id)} > <TrashIcon className="text-red_r-11 w-3"/> </button> diff --git a/src/pages/shop/checkout.js b/src/pages/shop/checkout.js index 8a540bcd..8a52486c 100644 --- a/src/pages/shop/checkout.js +++ b/src/pages/shop/checkout.js @@ -195,7 +195,7 @@ export default function Checkout() { { selectedAddress.shipping && ( <div className="mt-4 text-caption-1"> - <div className="badge-red mb-2">{ selectedAddress.invoicing.type.charAt(0).toUpperCase() + selectedAddress.invoicing.type.slice(1) + ' Address' }</div> + <div className="badge-red mb-2">{ selectedAddress.shipping.type.charAt(0).toUpperCase() + selectedAddress.shipping.type.slice(1) + ' Address' }</div> <p className="font-medium">{ selectedAddress.shipping.name }</p> <p className="mt-2 text-gray_r-11">{ selectedAddress.shipping.mobile }</p> <p className="mt-1 text-gray_r-11">{ selectedAddress.shipping.street }, { selectedAddress.shipping?.city?.name }</p> |
