From 815b607ee1c5cf9ffc03c6e1e93d714a5dcf5239 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Sat, 17 Dec 2022 13:24:15 +0700 Subject: Cart Loader --- src/components/product/ProductSlider.js | 2 +- src/pages/shop/cart.js | 38 ++++++++++++++++++++++++--------- 2 files changed, 29 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/components/product/ProductSlider.js b/src/components/product/ProductSlider.js index 26584d8a..84dc4258 100644 --- a/src/components/product/ProductSlider.js +++ b/src/components/product/ProductSlider.js @@ -6,7 +6,7 @@ import "swiper/css"; export default function ProductSlider({ products }) { return ( <> - + {products?.products?.map((product, index) => ( diff --git a/src/pages/shop/cart.js b/src/pages/shop/cart.js index ce4e3a59..5949c1ba 100644 --- a/src/pages/shop/cart.js +++ b/src/pages/shop/cart.js @@ -29,13 +29,16 @@ import Image from "../../components/Image"; import Layout from "../../components/Layout"; import Link from "../../components/Link"; import Alert from "../../components/Alert"; +import Spinner from "../../components/Spinner"; export async function getServerSideProps(context) { - const previousRoute = context.req.headers.referer || '/'; + let previousRoute = context.req.headers.referer || '/'; + if (previousRoute.endsWith('/shop/cart')) previousRoute = '/'; return { props: { previousRoute } }; } export default function Cart({ previousRoute }) { + const [isLoadingProducts, setIsLoadingProducts] = useState(true); const [products, setProducts] = useState([]); const [totalPriceBeforeTax, setTotalPriceBeforeTax] = useState(0); const [totalTaxAmount, setTotalTaxAmount] = useState(0); @@ -57,6 +60,7 @@ export default function Cart({ previousRoute }) { to_process: false })); setProducts(dataProducts); + setIsLoadingProducts(false); } } @@ -178,7 +182,7 @@ export default function Cart({ previousRoute }) { {/* jsx-start: Progress Bar */} -
+
1

Keranjang

@@ -187,28 +191,42 @@ export default function Cart({ previousRoute }) {
-
2
+
2

Pembayaran

-
3
+
3

Selesai

{/* [End] Progress Bar */} {/* --- Start Alert */} - - - - Mohon dicek kembali & pastikan pesanan kamu sudah sesuai dengan yang kamu butuhkan. Atau bisa hubungi kami. - - + {!isLoadingProducts && ( + +
+ +
+ + {products.length > 0 ? ( + <>Mohon dicek kembali & pastikan pesanan kamu sudah sesuai dengan yang kamu butuhkan. Atau bisa hubungi kami. + ) : ( + <>Anda belum menambahkan barang apapun ke keranjang. + )} + +
+ )} {/* ---- End Alert */} + {isLoadingProducts && ( +
+ Loading... +
+ )} +
{/* [Start] Product List */}
-- cgit v1.2.3