diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-01-31 14:32:38 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-01-31 14:32:38 +0700 |
| commit | 3496025d97140268dc2e899adca994b5b9f343c0 (patch) | |
| tree | 3d8b51fc624b09a7ba46409e9e8a81fbd02da582 /src/pages/my | |
| parent | d194dcc23c19a4cf31863b32770f8df77e1f675a (diff) | |
quotation and categories
Diffstat (limited to 'src/pages/my')
| -rw-r--r-- | src/pages/my/transaction/[id].js | 5 | ||||
| -rw-r--r-- | src/pages/my/transactions.js | 6 | ||||
| -rw-r--r-- | src/pages/my/wishlist.js | 20 |
3 files changed, 26 insertions, 5 deletions
diff --git a/src/pages/my/transaction/[id].js b/src/pages/my/transaction/[id].js index 4c33c97a..a508ef77 100644 --- a/src/pages/my/transaction/[id].js +++ b/src/pages/my/transaction/[id].js @@ -15,6 +15,7 @@ import { SkeletonList } from "@/components/elements/Skeleton"; import Link from "@/components/elements/Link"; import { ChevronRightIcon } from "@heroicons/react/24/outline"; import Alert from "@/components/elements/Alert"; +import TransactionStatusBadge from "@/components/transactions/TransactionStatusBadge"; export default function DetailTransaction() { const router = useRouter(); @@ -41,7 +42,9 @@ export default function DetailTransaction() { <> <div className="p-4 flex flex-col gap-y-4"> <DescriptionRow label="Status Transaksi"> - <span className="badge-green">Pending Quotation</span> + <div className="flex justify-end"> + <TransactionStatusBadge status={transaction?.status} /> + </div> </DescriptionRow> <DescriptionRow label="No Transaksi"> { transaction?.name } diff --git a/src/pages/my/transactions.js b/src/pages/my/transactions.js index 85f0935f..221859f9 100644 --- a/src/pages/my/transactions.js +++ b/src/pages/my/transactions.js @@ -11,6 +11,7 @@ import { EllipsisVerticalIcon, MagnifyingGlassIcon } from "@heroicons/react/24/o import Link from "@/components/elements/Link"; import Pagination from "@/components/elements/Pagination"; import Alert from "@/components/elements/Alert"; +import TransactionStatusBadge from "@/components/transactions/TransactionStatusBadge"; export default function Transactions() { const [ auth ] = useAuth(); @@ -40,7 +41,8 @@ export default function Transactions() { const dataTransactions = await apiOdoo('GET', `/api/v1/partner/${auth.partner_id}/sale_order${queryParams}`); setTransactions(dataTransactions); - setPageCount(Math.ceil(dataTransactions.sale_order_total / limit)); + console.log(dataTransactions); + setPageCount(Math.ceil(dataTransactions?.sale_order_total / limit)); setIsLoading(false); }; } @@ -88,7 +90,7 @@ export default function Transactions() { <h2 className="text-red_r-11 mt-1">{ transaction.name }</h2> </Link> <div className="flex gap-x-1 justify-end"> - <div className="badge-green h-fit">Pending</div> + <TransactionStatusBadge status={transaction.status} /> <EllipsisVerticalIcon className="w-5 h-5" onClick={() => setActivePopupId(transaction.id)} /> </div> </div> diff --git a/src/pages/my/wishlist.js b/src/pages/my/wishlist.js index 175bfa08..9683c785 100644 --- a/src/pages/my/wishlist.js +++ b/src/pages/my/wishlist.js @@ -1,24 +1,33 @@ import WithAuth from "@/components/auth/WithAuth"; +import Pagination from "@/components/elements/Pagination"; +import Spinner from "@/components/elements/Spinner"; import AppBar from "@/components/layouts/AppBar"; import Layout from "@/components/layouts/Layout"; import ProductCard from "@/components/products/ProductCard"; import apiOdoo from "@/core/utils/apiOdoo"; import { useAuth } from "@/core/utils/auth"; +import { useRouter } from "next/router"; import { useEffect, useState } from "react"; export default function Wishlist() { const [ auth ] = useAuth(); + const router = useRouter(); + const { page = 1 } = router.query; const [ wishlists, setWishlists ] = useState(null); + const [ pageCount, setPageCount ] = useState(0); useEffect(() => { const loadWishlist = async () => { + const limit = 10; + const offset = (page - 1) * limit; if (auth) { - const dataWishlist = await apiOdoo('GET', `/api/v1/user/${auth.id}/wishlist`); + const dataWishlist = await apiOdoo('GET', `/api/v1/user/${auth.id}/wishlist?limit=${limit}&offset=${offset}`); setWishlists(dataWishlist); + setPageCount(Math.ceil(dataWishlist.product_total / limit)); } } loadWishlist(); - }, [ auth ]); + }, [ auth, page ]); return ( <WithAuth> @@ -26,11 +35,18 @@ export default function Wishlist() { <AppBar title='Wishlist' /> <div className="px-4 py-6"> + { !wishlists && ( + <Spinner className="w-6 h-6 text-gray-600 fill-gray-900 mx-auto" /> + ) } <div className="grid grid-cols-2 gap-3"> {wishlists?.products.map((product) => ( <ProductCard key={product.id} data={product} /> ))} </div> + + <div className="mt-6"> + <Pagination currentPage={page} pageCount={pageCount} url={`/my/wishlist`} /> + </div> </div> </Layout> </WithAuth> |
