summaryrefslogtreecommitdiff
path: root/src/pages/my
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-01-31 14:32:38 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-01-31 14:32:38 +0700
commit3496025d97140268dc2e899adca994b5b9f343c0 (patch)
tree3d8b51fc624b09a7ba46409e9e8a81fbd02da582 /src/pages/my
parentd194dcc23c19a4cf31863b32770f8df77e1f675a (diff)
quotation and categories
Diffstat (limited to 'src/pages/my')
-rw-r--r--src/pages/my/transaction/[id].js5
-rw-r--r--src/pages/my/transactions.js6
-rw-r--r--src/pages/my/wishlist.js20
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>