summaryrefslogtreecommitdiff
path: root/src/pages/shop
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-02-06 12:04:30 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-02-06 12:04:30 +0700
commit620223f151700bbd91a33d32e2a4c29d4c287e9d (patch)
tree8151774bc1f595fcc688b376e1e0c710efe3bf2e /src/pages/shop
parentdfff0da443a3e2d92b92c7c1632ca16e1da94e61 (diff)
no message
Diffstat (limited to 'src/pages/shop')
-rw-r--r--src/pages/shop/cart.js53
-rw-r--r--src/pages/shop/checkout.js2
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>