summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-04-26 11:39:23 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-04-26 11:39:23 +0700
commit0a548e87febeab3d25ba7d5270b73b757f130b26 (patch)
tree5f726f2564f6a38a871b2559d3762fb1ff2ad239 /src/lib
parent42fed2490fe537b46a717eafaf1b1e4a5e0a08c8 (diff)
fix bug on update qty cart and create quotation page
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/auth/components/Menu.jsx7
-rw-r--r--src/lib/cart/components/Cart.jsx6
-rw-r--r--src/lib/invoice/components/Invoices.jsx6
-rw-r--r--src/lib/transaction/components/Transaction.jsx2
-rw-r--r--src/lib/transaction/components/Transactions.jsx15
5 files changed, 20 insertions, 16 deletions
diff --git a/src/lib/auth/components/Menu.jsx b/src/lib/auth/components/Menu.jsx
index 9a73609d..8a8e2e8a 100644
--- a/src/lib/auth/components/Menu.jsx
+++ b/src/lib/auth/components/Menu.jsx
@@ -9,10 +9,13 @@ const Menu = () => {
return (
<div className='grid grid-cols-1 bg-white border border-gray_r-6 rounded py-2 px-4'>
<div className='mt-4 mb-1 font-medium'>Menu</div>
- <LinkItem href='/my/transactions' active={routeStartWith('/my/transaction')}>
+ <LinkItem href='/my/quotations' active={routeStartWith('/my/quotations')}>
+ Daftar Quotation
+ </LinkItem>
+ <LinkItem href='/my/transactions' active={routeStartWith('/my/transactions')}>
Daftar Transaksi
</LinkItem>
- <LinkItem href='/my/invoices' active={routeStartWith('/my/invoice')}>
+ <LinkItem href='/my/invoices' active={routeStartWith('/my/invoices')}>
Invoice & Faktur Pajak
</LinkItem>
<LinkItem href='/my/wishlist' active={routeStartWith('/my/wishlist')}>
diff --git a/src/lib/cart/components/Cart.jsx b/src/lib/cart/components/Cart.jsx
index d0685fe3..b0de5168 100644
--- a/src/lib/cart/components/Cart.jsx
+++ b/src/lib/cart/components/Cart.jsx
@@ -72,7 +72,7 @@ const Cart = () => {
}, [products])
useEffect(() => {
- const LoadProductSImilar = async () => {
+ const LoadProductSimilar = async () => {
const randProductIndex = Math.floor(Math.random() * products.length)
const productLoad = await productSearchApi({
query: `q=${products?.[randProductIndex].parent.name}&limit=10`
@@ -80,8 +80,8 @@ const Cart = () => {
setProductRecomendation(productLoad)
}
- if (products?.length > 0) LoadProductSImilar()
- }, [products])
+ if (products?.length > 0 && !productRecomendation) LoadProductSimilar()
+ }, [products, productRecomendation])
const updateQuantity = (value, productId, operation = '') => {
let productIndex = products.findIndex((product) => product.id == productId)
diff --git a/src/lib/invoice/components/Invoices.jsx b/src/lib/invoice/components/Invoices.jsx
index 6f7d54a0..8918fae4 100644
--- a/src/lib/invoice/components/Invoices.jsx
+++ b/src/lib/invoice/components/Invoices.jsx
@@ -78,7 +78,7 @@ const Invoices = () => {
{invoices.data?.invoices?.map((invoice, index) => (
<div className='p-4 shadow border border-gray_r-3 rounded-md' key={index}>
<div className='grid grid-cols-2'>
- <Link href={`/my/invoice/${invoice.id}`}>
+ <Link href={`${router.pathname}/${invoice.id}`}>
<span className='text-caption-2 text-gray_r-11'>No. Invoice</span>
<h2 className='text-danger-500 mt-1'>{invoice.name}</h2>
</Link>
@@ -91,7 +91,7 @@ const Invoices = () => {
<EllipsisVerticalIcon className='w-5 h-5' onClick={() => setToOthers(invoice)} />
</div>
</div>
- <Link href={`/my/invoice/${invoice.id}`}>
+ <Link href={`${router.pathname}/${invoice.id}`}>
<div className='grid grid-cols-2 text-caption-2 text-gray_r-11 mt-2 font-normal'>
<p>{invoice.invoiceDate}</p>
<p className='text-right'>{invoice.paymentTerm}</p>
@@ -214,7 +214,7 @@ const Invoices = () => {
{invoices.data?.invoices?.map((invoice) => (
<tr key={invoice.id}>
<td>
- <Link href={`/my/invoice/${invoice.id}`}>{invoice.name}</Link>
+ <Link href={`${router.pathname}/${invoice.id}`}>{invoice.name}</Link>
</td>
<td>{invoice.purchaseOrderName || '-'}</td>
<td>{invoice.invoiceDate}</td>
diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx
index 3e3f2cc7..30bb454a 100644
--- a/src/lib/transaction/components/Transaction.jsx
+++ b/src/lib/transaction/components/Transaction.jsx
@@ -2,7 +2,7 @@ import Spinner from '@/core/components/elements/Spinner/Spinner'
import useTransaction from '../hooks/useTransaction'
import TransactionStatusBadge from './TransactionStatusBadge'
import Divider from '@/core/components/elements/Divider/Divider'
-import { useEffect, useMemo, useRef, useState } from 'react'
+import { useMemo, useRef, useState } from 'react'
import { downloadPurchaseOrder, downloadQuotation } from '../utils/transactions'
import BottomPopup from '@/core/components/elements/Popup/BottomPopup'
import uploadPoApi from '../api/uploadPoApi'
diff --git a/src/lib/transaction/components/Transactions.jsx b/src/lib/transaction/components/Transactions.jsx
index 13417707..54316c3d 100644
--- a/src/lib/transaction/components/Transactions.jsx
+++ b/src/lib/transaction/components/Transactions.jsx
@@ -19,7 +19,7 @@ import MobileView from '@/core/components/views/MobileView'
import DesktopView from '@/core/components/views/DesktopView'
import Menu from '@/lib/auth/components/Menu'
-const Transactions = () => {
+const Transactions = ({ context = '' }) => {
const router = useRouter()
const { q = '', page = 1 } = router.query
@@ -28,6 +28,7 @@ const Transactions = () => {
const query = {
name: q,
offset: (page - 1) * limit,
+ context,
limit
}
const { transactions } = useTransactions({ query })
@@ -54,7 +55,7 @@ const Transactions = () => {
const handleSubmit = (e) => {
e.preventDefault()
- router.push(`/my/transactions?q=${inputQuery}`)
+ router.push(`${router.pathname}?q=${inputQuery}`)
}
return (
@@ -89,7 +90,7 @@ const Transactions = () => {
{transactions.data?.saleOrders?.map((saleOrder, index) => (
<div className='p-4 shadow border border-gray_r-3 rounded-md' key={index}>
<div className='grid grid-cols-2'>
- <Link href={`/my/transaction/${saleOrder.id}`}>
+ <Link href={`${router.pathname}/${saleOrder.id}`}>
<span className='text-caption-2 text-gray_r-11'>No. Transaksi</span>
<h2 className='text-danger-500 mt-1'>{saleOrder.name}</h2>
</Link>
@@ -101,7 +102,7 @@ const Transactions = () => {
/>
</div>
</div>
- <Link href={`/my/transaction/${saleOrder.id}`}>
+ <Link href={`${router.pathname}/${saleOrder.id}`}>
<div className='grid grid-cols-2 mt-3'>
<div>
<span className='text-caption-2 text-gray_r-11'>No. Purchase Order</span>
@@ -135,7 +136,7 @@ const Transactions = () => {
<Pagination
pageCount={pageCount}
currentPage={parseInt(page)}
- url={`/my/transactions${pageQuery}`}
+ url={router.pathname + pageQuery}
className='mt-2 mb-2'
/>
@@ -249,7 +250,7 @@ const Transactions = () => {
{transactions.data?.saleOrders?.map((saleOrder) => (
<tr key={saleOrder.id}>
<td>
- <Link href={`/my/transaction/${saleOrder.id}`}>{saleOrder.name}</Link>
+ <Link href={`${router.pathname}/${saleOrder.id}`}>{saleOrder.name}</Link>
</td>
<td>-</td>
<td className='!text-left'>{saleOrder.sales}</td>
@@ -267,7 +268,7 @@ const Transactions = () => {
<Pagination
pageCount={pageCount}
currentPage={parseInt(page)}
- url={`/my/transactions${pageQuery}`}
+ url={router.pathname + pageQuery}
className='mt-2 mb-2'
/>
</div>