diff options
Diffstat (limited to 'src/lib/wishlist/components/Wishlists.jsx')
| -rw-r--r-- | src/lib/wishlist/components/Wishlists.jsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/lib/wishlist/components/Wishlists.jsx b/src/lib/wishlist/components/Wishlists.jsx new file mode 100644 index 00000000..8a456a8d --- /dev/null +++ b/src/lib/wishlist/components/Wishlists.jsx @@ -0,0 +1,41 @@ +import Alert from "@/core/components/elements/Alert/Alert" +import Pagination from "@/core/components/elements/Pagination/Pagination" +import Spinner from "@/core/components/elements/Spinner/Spinner" +import ProductCard from "@/lib/product/components/ProductCard" +import { useRouter } from "next/router" +import useWishlists from "../hooks/useWishlists" + +const Wishlists = () => { + const router = useRouter() + const { + page = 1 + } = router.query + const limit = 30 + const { wishlists } = useWishlists({ page, limit }) + + const pageCount = Math.ceil(wishlists.data?.productTotal / limit) + + return ( + <div className="px-4 py-6"> + { wishlists.isLoading && ( + <Spinner className="w-6 h-6 text-gray-600 fill-gray-900 mx-auto" /> + ) } + { wishlists.data?.products?.length == 0 && ( + <Alert type='info' className='text-center'> + Wishlist anda masih kosong + </Alert> + ) } + <div className="grid grid-cols-2 gap-3"> + {wishlists.data?.products.map((product) => ( + <ProductCard key={product.id} data={product} /> + ))} + </div> + + <div className="mt-6"> + <Pagination currentPage={page} pageCount={pageCount} url={`/my/wishlist`} /> + </div> + </div> + ) +} + +export default Wishlists
\ No newline at end of file |
