From ff73ed876e8516ed1a3cfef1d5f8381a2d9ca70e Mon Sep 17 00:00:00 2001 From: Miqdad Date: Thu, 28 Aug 2025 14:25:45 +0700 Subject: Show bayar sekarang in detail transaction --- src/lib/transaction/components/Transaction.jsx | 515 ++++++++----------------- 1 file changed, 165 insertions(+), 350 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index 77e60dc1..cc5f862c 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -43,13 +43,14 @@ import { gtagPurchase } from '@/core/utils/googleTag'; import { deleteItemCart } from '@/core/utils/cart'; import { downloadInvoice, - downloadTaxInvoice, + // downloadTaxInvoice, // (unused) } from '@/lib/invoice/utils/invoices'; import { Download } from 'lucide-react'; import axios from 'axios'; import InformationSection from '../../treckingAwb/component/InformationSection'; -import { Button } from '@chakra-ui/react'; -import { div } from 'lodash-contrib'; +// import { Button } from '@chakra-ui/react'; // (unused) +// import { div } from 'lodash-contrib'; // (unused) + const Transaction = ({ id }) => { const PPN = process.env.NEXT_PUBLIC_PPN; const router = useRouter(); @@ -73,6 +74,7 @@ const Transaction = ({ id }) => { const [toOthers, setToOthers] = useState(null); const [totalAmount, setTotalAmount] = useState(0); const [totalDiscountAmount, setTotalDiscountAmount] = useState(0); + const [contLoading, setContLoading] = useState(false); useEffect(() => { if (transaction?.data?.products) { @@ -88,6 +90,7 @@ const Transaction = ({ id }) => { setTotalDiscountAmount(calculateTotalDiscountAmount); } }, [transaction.data, transaction.isLoading]); + const submitUploadPo = async () => { const file = poFile.current.files[0]; const name = poNumber.current.value; @@ -127,10 +130,6 @@ const Transaction = ({ id }) => { } } }; - // const ContinueTransaction = () => { - // setContinueNoPo(true); - // checkoutNoPO(); - // }; const closeCancelTransaction = () => setCancelTransaction(false); const closeContinueTransaction = () => setContinueTransaction(false); @@ -138,6 +137,7 @@ const Transaction = ({ id }) => { const openRejectTransaction = () => setRejectTransaction(true); const closeRejectTransaction = () => setRejectTransaction(false); + const submitCancelTransaction = async () => { const isCancelled = await cancelTransactionApi({ transaction: transaction.data, @@ -148,6 +148,7 @@ const Transaction = ({ id }) => { } closeCancelTransaction(); }; + const checkout = async () => { if (!transaction.data?.purchaseOrderFile) { toast.error('Mohon upload dokumen PO anda sebelum melanjutkan pesanan'); @@ -194,25 +195,6 @@ const Transaction = ({ id }) => { } toast.success('Berhasil melanjutkan pesanan'); transaction.refetch(); - // console.log(transaction); - - /* const midtrans = async () => { - for (const product of products) deleteItemCart({ productId: product.id }); - if (grandTotal > 0) { - const payment = await axios.post( - `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/midtrans-payment?transactionId=${isCheckouted.id}` - ); - setIsLoading(false); - window.location.href = payment.data.redirectUrl; - } else { - window.location.href = `${ - process.env.NEXT_PUBLIC_SELF_HOST - }/shop/checkout/success?order_id=${isCheckouted.name.replace( - /\//g, - '-' - )}`; - } - };*/ }; const handleApproval = async () => { @@ -227,6 +209,36 @@ const Transaction = ({ id }) => { transaction.refetch(); }; + // ===== Bayar Sekarang (pakai link dari backend; fallback generate via Next API) ===== + const handlePayNow = async () => { + try { + setContLoading(true); + // 1) gunakan URL yang sudah dikirim backend (jika ada) + const existingUrl = + transaction?.data?.paymentSummary?.redirectUrl || + transaction?.data?.paymentLinkMidtrans || + ''; + if (existingUrl) { + window.open(existingUrl, '_blank', 'noopener,noreferrer'); + toast.success('Membuka halaman pembayaran…'); + return; + } + // 2) fallback: panggil Next API untuk generate + const res = await axios.post( + `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/midtrans-payment?transactionId=${transaction.data.id}` + ); + window.location.href = res.data.redirectUrl; + } catch (e) { + toast.error( + e?.response?.data?.description || + e?.message || + 'Gagal membuka pembayaran' + ); + } finally { + setContLoading(false); + } + }; + const memoizeVariantGroupCard = useMemo( () => (
@@ -314,7 +326,7 @@ const Transaction = ({ id }) => { navigator.clipboard.writeText(textToCopy); setCopied(true); toast.success('No Resi Berhasil di Copy'); - setTimeout(() => setCopied(false), 2000); // Reset copied state after 2 seconds + setTimeout(() => setCopied(false), 2000); }; const formatDate = (dateString) => { @@ -336,7 +348,7 @@ const Transaction = ({ id }) => { const [day, month, year] = dateString.split('/'); return `${day} ${months[parseInt(month, 10) - 1]} ${year}`; }; - // console.log(transaction); + return ( transaction.data?.name && ( <> @@ -366,6 +378,7 @@ const Transaction = ({ id }) => {
+ { + {/* ============ MOBILE ============ */}
- + {auth?.feature?.soApproval && (
{
-

Detail Order

+

Detail Order

{transaction.data?.name}

@@ -579,9 +594,11 @@ const Transaction = ({ id }) => {
-

Alamat Pengiriman

+

Alamat Pengiriman

-

{transaction?.data?.address?.customer?.name}

+

+ {transaction?.data?.address?.customer?.name} +

{transaction?.data?.address?.customer?.phone @@ -602,9 +619,7 @@ const Transaction = ({ id }) => {
Info Pengiriman
{transaction?.data?.pickings.length == 0 && ( -
- Belum ada pengiriman -
+
Belum ada pengiriman
)} {transaction?.data?.pickings?.map((airway) => (
{
- // ))} -
@@ -717,17 +711,20 @@ const Transaction = ({ id }) => {
Detail Produk
{transaction?.data?.products.length > 0 ? (
- +
Rincian Pembayaran

Metode Pembayaran

-

- {transaction.data?.paymentTerm || '-'} -

+

{transaction.data?.paymentTerm || '-'}

Berat Barang

-

{(transaction.data?.products?.reduce((total, item) => total + (item.weight || 0), 0)) + ' Kg'}

+

+ {transaction.data?.products?.reduce( + (total, item) => total + (item.weight || 0), + 0 + ) + ' Kg'} +


@@ -774,12 +771,7 @@ const Transaction = ({ id }) => {
)} - {/* */} - - {/* */} - - {/* */} - + {/* Tombol aksi (Mobile) */} {transaction.data?.status === 'draft' && (
{transaction.data?.status == 'draft' && - transaction?.data?.purchaseOrderFile && ( - - )} + transaction?.data?.purchaseOrderFile && ( + + )} +
+ )} + + {/* Bayar Sekarang (Mobile) — tampil jika eligible */} + {transaction.data?.eligibleContinue && ( +
+
)} + {/* ============ DESKTOP ============ */}
@@ -827,44 +834,36 @@ const Transaction = ({ id }) => { )}
- {/*new-release*/} - {/*
*/} - {/*
*/} - {/* */} - {/* {transaction?.data?.name}*/} - {/* */} - {/* */} - {/*
*/} - {/*
*/} - {/* Estimasi Barang Siap:{' '}*/} - {/* */} - {/* {transaction?.data?.expectedReadyToShip}*/} - {/* */} - {/*
*/} -
- - {transaction?.data?.name} - - - {transaction.data?.status === 'draft' && ( -
- + {/* HEADER (Desktop) — sejajarkan kiri & kanan */} +
+ {/* Kiri: SO + badge */} +
+ + {transaction?.data?.name} + + +
+ + {/* Kanan: aksi */} +
+ {transaction.data?.status === 'draft' && ( + <> + -
- {transaction.data?.status == 'draft' && - transaction?.data?.purchaseOrderFile && ( + + {transaction?.data?.purchaseOrderFile && ( )} -
-
- )} -
- {/* {transaction.data?.status === 'draft' && ( -
- - - - {transaction.data?.status == 'draft' && - transaction?.data?.purchaseOrderFile && ( - - )} + + )} + + {transaction.data?.eligibleContinue && ( + + )}
- )} */} +
@@ -967,29 +949,13 @@ const Transaction = ({ id }) => { key={index} > {invoice?.name} - {/*
-
-

{invoice?.name}

-
- {invoice.amountResidual > 0 ? ( -
Belum Lunas
- ) : ( -
Lunas
- )} -

- {currencyFormat(invoice.amountTotal)} -

-
-
- -
*/} ))}

- {/*
*/} +
@@ -1039,17 +1005,17 @@ const Transaction = ({ id }) => { ) : ( '-' )} - {transaction?.data?.carrierId !== 32 &&( - <> -
Jenis Service
-
:
-
- {' '} - {transaction?.data?.serviceType - ? transaction?.data?.serviceType - : '-'} -
- + {transaction?.data?.carrierId !== 32 && ( + <> +
Jenis Service
+
:
+
+ {' '} + {transaction?.data?.serviceType + ? transaction?.data?.serviceType + : '-'} +
+ )}
Estimasi Tanggal Kirim
@@ -1059,41 +1025,42 @@ const Transaction = ({ id }) => { ? transaction?.data?.expectedReadyToShip : '-'}
- {transaction?.data?.carrierId !== 32 &&( - <> -
Estimasi Tiba
-
:
-
- {transaction?.data?.etaDateStart && transaction?.data?.etaDateEnd ? ( - `${transaction.data.etaDateStart} - ${transaction.data.etaDateEnd}` - ) : ( - '-' - )} -
- + {transaction?.data?.carrierId !== 32 && ( + <> +
Estimasi Tiba
+
:
+
+ {transaction?.data?.etaDateStart && + transaction?.data?.etaDateEnd + ? `${transaction.data.etaDateStart} - ${transaction.data.etaDateEnd}` + : '-'} +
+ )} - {transaction?.data?.pickings[0] && transaction?.data?.carrierId !== 32 && ( -
- - )} + )}
@@ -1103,9 +1070,7 @@ const Transaction = ({ id }) => {
{transaction?.data?.pickings.length == 0 && ( -
- Belum ada pengiriman -
+
Belum ada pengiriman
)} {transaction?.data?.pickings?.map((airway) => (
{
))} - {/*
*/} -
- {/*New release*/} - {/*
*/} - {/* {transaction?.data?.pickings?.map((airway) => (*/} - {/* setIdAWB(airway?.id)}*/} - {/* >*/} - {/*
*/} - {/*

*/} - {/* {airway?.name}*/} - {/*

*/} - {/* */} - {/* No Resi : {airway?.trackingNumber || '-'}{' '}*/} - {/* */} - {/*
*/} - {/*
*/} - {/*
*/} - {/* {airway?.delivered*/} - {/* ? 'Pesanan Tiba'*/} - {/* : 'Sedang Dikirim'}*/} - {/*
*/} - {/* */} - {/*
*/} - {/* */} - {/* ))}*/} - {/*
*/} - {/*
*/}
Invoice @@ -1202,7 +1137,6 @@ const Transaction = ({ id }) => { Nama Produk - {/* Diskon */} Jumlah Harga Subtotal @@ -1280,24 +1214,13 @@ const Transaction = ({ id }) => { )}
- {/* - {product.price.discountPercentage > 0 - ? `${product.price.discountPercentage}%` - : ''} - */} {product.quantity} - {/* {product.price.discountPercentage > 0 && ( -
- {currencyFormat(product.price.price)} -
- )} */}
{currencyFormat(product.price.priceDiscount)}
{currencyFormat(product.price.subtotal)} - {/* {auth?.feature.soApproval && (auth.webRole == 2 || auth.webRole == 3) && (transaction.data.isReaject == false) && ( */} {auth?.feature.soApproval && (auth.webRole == 2 || auth.webRole == 3) && router.asPath.includes('/my/quotations/') && @@ -1354,34 +1277,6 @@ const Transaction = ({ id }) => { )} {transaction?.data?.products?.length > 0 && ( - //
- //
- //
Subtotal
- //
- // {currencyFormat(transaction.data?.amountUntaxed)} - //
- - //
- // PPN {((PPN - 1) * 100).toFixed(0)}% - //
- //
- // {currencyFormat(transaction.data?.amountTax)} - //
- - //
- // Biaya Pengiriman - //
- //
- // {currencyFormat(transaction.data?.deliveryAmount)} - //
- - //
Grand Total
- //
- // {currencyFormat(transaction.data?.amountTotal)} - //
- //
- //
-
Total Belanja
@@ -1437,7 +1332,6 @@ const Transaction = ({ id }) => { Nama Produk - {/* Diskon */} Jumlah Harga Subtotal @@ -1480,18 +1374,8 @@ const Transaction = ({ id }) => {
- {/* - {product.price.discountPercentage > 0 - ? `${product.price.discountPercentage}%` - : ''} - */} {product.quantity} - {/* {product.price.discountPercentage > 0 && ( -
- {currencyFormat(product.price.price)} -
- )} */}
{currencyFormat(product.price.priceDiscount)}
@@ -1512,58 +1396,6 @@ const Transaction = ({ id }) => {
- - {/* {queryAirwayBill.data?.airways?.map((airway) => ( - setAirwayBillPopup(null)} - > -
-
-
No Pengiriman
-
{airway?.deliveryOrder?.name}
-
-
-
Kurir
-
{airway?.deliveryOrder?.carrier}
-
-
-
No Resi
-
{airway?.waybillNumber}
-
-
- -
-
Status Pengiriman
-
    - {airway?.manifests?.map((manifest, index) => ( -
  1. -
    - -

    - {manifest.description} -

    -
  2. - ))} - {(!airway?.manifests || airway?.manifests?.length == 0) && ( -
    Belum ada pengiriman
    - )} -
-
-
- ))} */} ) ); @@ -1589,24 +1421,7 @@ const SectionAddress = ({ address }) => { {section.customer && } - {/* - - toggleSection('shipping')} - /> - - {section.shipping && } - - - - toggleSection('invoice')} - /> - {section.invoice && } */} + {/* Bagian shipping/invoice disembunyikan */} ); }; -- cgit v1.2.3 From 308563b3f45255450206decc03329dcc64c4bc50 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Fri, 29 Aug 2025 10:42:05 +0700 Subject: Fix payment --- src/lib/transaction/components/Transaction.jsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index cc5f862c..0a399f12 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -213,17 +213,32 @@ const Transaction = ({ id }) => { const handlePayNow = async () => { try { setContLoading(true); - // 1) gunakan URL yang sudah dikirim backend (jika ada) + + // (0) minta backend cek status & generate link baru jika expired/cancel + let ensuredUrl = ''; + try { + const { data } = await axios.post( + `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/so-payment-link?soId=${transaction.data.id}` + ); + ensuredUrl = data?.redirectUrl || ''; + } catch (_) { + // biarkan silent; lanjut ke existing/fallback + } + + // (1) pakai URL yang paling terjamin dulu const existingUrl = + ensuredUrl || transaction?.data?.paymentSummary?.redirectUrl || transaction?.data?.paymentLinkMidtrans || ''; + if (existingUrl) { window.open(existingUrl, '_blank', 'noopener,noreferrer'); toast.success('Membuka halaman pembayaran…'); return; } - // 2) fallback: panggil Next API untuk generate + + // (2) fallback terakhir: pakai Next API (mis. bikin Snap baru) const res = await axios.post( `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/midtrans-payment?transactionId=${transaction.data.id}` ); -- cgit v1.2.3 From 90c4cde3981450cf20172fb938cd18c0943a57c6 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sat, 30 Aug 2025 08:05:33 +0700 Subject: temp --- src/lib/transaction/components/Transaction.jsx | 51 ++++++++++++-------------- 1 file changed, 24 insertions(+), 27 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index 0a399f12..803b60bd 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -209,40 +209,37 @@ const Transaction = ({ id }) => { transaction.refetch(); }; - // ===== Bayar Sekarang (pakai link dari backend; fallback generate via Next API) ===== const handlePayNow = async () => { try { setContLoading(true); - // (0) minta backend cek status & generate link baru jika expired/cancel - let ensuredUrl = ''; - try { - const { data } = await axios.post( - `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/so-payment-link?soId=${transaction.data.id}` - ); - ensuredUrl = data?.redirectUrl || ''; - } catch (_) { - // biarkan silent; lanjut ke existing/fallback - } - - // (1) pakai URL yang paling terjamin dulu - const existingUrl = - ensuredUrl || - transaction?.data?.paymentSummary?.redirectUrl || - transaction?.data?.paymentLinkMidtrans || - ''; + // Selalu minta link baru ke server + const res = await axios.post( + '/api/shop/midtrans-payment', // pakai relative path biar nggak salah host + null, + { + params: { + transactionId: transaction.data.id, + force: 1, + ts: Date.now(), + }, + } + ); - if (existingUrl) { - window.open(existingUrl, '_blank', 'noopener,noreferrer'); - toast.success('Membuka halaman pembayaran…'); - return; + const ensuredUrl = res?.data?.redirectUrl || ''; + if (!ensuredUrl) { + const fallback = + transaction?.data?.paymentSummary?.redirectUrl || + transaction?.data?.paymentLinkMidtrans || + ''; + if (fallback) { + window.open(fallback, '_blank', 'noopener,noreferrer'); + return; + } + throw new Error('redirectUrl kosong'); } - // (2) fallback terakhir: pakai Next API (mis. bikin Snap baru) - const res = await axios.post( - `${process.env.NEXT_PUBLIC_SELF_HOST}/api/shop/midtrans-payment?transactionId=${transaction.data.id}` - ); - window.location.href = res.data.redirectUrl; + window.location.href = ensuredUrl; // pakai link BARU } catch (e) { toast.error( e?.response?.data?.description || -- cgit v1.2.3 From 016b9f1e9b234f546a0354b818fd33712379a803 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sun, 31 Aug 2025 12:18:14 +0700 Subject: oke --- src/lib/transaction/components/Transaction.jsx | 64 +++++++++++++++++--------- 1 file changed, 43 insertions(+), 21 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index 803b60bd..30ba74d2 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -209,37 +209,59 @@ const Transaction = ({ id }) => { transaction.refetch(); }; + // ===== Bayar Sekarang (pakai link dari backend; fallback generate via Next API) ===== const handlePayNow = async () => { try { setContLoading(true); - // Selalu minta link baru ke server - const res = await axios.post( - '/api/shop/midtrans-payment', // pakai relative path biar nggak salah host - null, + const base = (process.env.NEXT_PUBLIC_ODOO_API_HOST || '').replace( + /\/$/, + '' + ); + const token = auth?.token; + const partnerId = auth?.partnerId; + + // 1) Minta Odoo ensure (hanya generate jika kosong / expire / cancel) + const { data: resp } = await axios.get( + `${base}/api/v1/partner/${partnerId}/sale_order/${transaction.data.id}`, { - params: { - transactionId: transaction.data.id, - force: 1, - ts: Date.now(), - }, + params: { ensure_payment_link: 1, ts: Date.now() }, + headers: { Token: token }, } ); - const ensuredUrl = res?.data?.redirectUrl || ''; - if (!ensuredUrl) { - const fallback = - transaction?.data?.paymentSummary?.redirectUrl || - transaction?.data?.paymentLinkMidtrans || - ''; - if (fallback) { - window.open(fallback, '_blank', 'noopener,noreferrer'); - return; - } - throw new Error('redirectUrl kosong'); + const payload = resp?.data || resp; + + // 2) Ambil URL dari berbagai kemungkinan field (snake_case dan camelCase) + let url = + payload?.payment_summary?.redirect_url || + payload?.paymentSummary?.redirectUrl || + payload?.paymentLinkMidtrans || + payload?.payment_link_midtrans || + ''; + + if (url) { + window.location.href = url; + return; + } + + // 3) Fallback: refetch detail dari hook lalu cek lagi + await transaction.refetch(); + + url = + transaction?.data?.paymentSummary?.redirectUrl || + transaction?.data?.payment_summary?.redirect_url || + transaction?.data?.paymentLinkMidtrans || + transaction?.data?.payment_link_midtrans || + ''; + + if (url) { + window.location.href = url; + return; } - window.location.href = ensuredUrl; // pakai link BARU + // 4) Masih kosong → error + throw new Error('Link pembayaran belum tersedia.'); } catch (e) { toast.error( e?.response?.data?.description || -- cgit v1.2.3 From 800b527bc0661255d1f9ec07d4bb365b23dab610 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sat, 6 Sep 2025 21:09:05 +0700 Subject: Fix detail transaction and no open new tab --- src/lib/transaction/components/Transaction.jsx | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index 30ba74d2..cbe725c7 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -221,7 +221,7 @@ const Transaction = ({ id }) => { const token = auth?.token; const partnerId = auth?.partnerId; - // 1) Minta Odoo ensure (hanya generate jika kosong / expire / cancel) + // 1) Minta Odoo ensure payment link const { data: resp } = await axios.get( `${base}/api/v1/partner/${partnerId}/sale_order/${transaction.data.id}`, { @@ -230,37 +230,40 @@ const Transaction = ({ id }) => { } ); - const payload = resp?.data || resp; + console.log('API Response:', resp); // Debug - // 2) Ambil URL dari berbagai kemungkinan field (snake_case dan camelCase) + // 2) Akses semua kemungkinan path let url = - payload?.payment_summary?.redirect_url || - payload?.paymentSummary?.redirectUrl || - payload?.paymentLinkMidtrans || - payload?.payment_link_midtrans || + resp?.result?.payment_summary?.redirect_url || + resp?.data?.result?.payment_summary?.redirect_url || + resp?.payment_summary?.redirect_url || + resp?.paymentSummary?.redirectUrl || ''; + console.log('Extracted URL:', url); // Debug + if (url) { window.location.href = url; return; } - // 3) Fallback: refetch detail dari hook lalu cek lagi + // 3) Fallback await transaction.refetch(); + console.log('Transaction data:', transaction.data); // Debug url = + transaction?.data?.result?.payment_summary?.redirect_url || transaction?.data?.paymentSummary?.redirectUrl || transaction?.data?.payment_summary?.redirect_url || - transaction?.data?.paymentLinkMidtrans || - transaction?.data?.payment_link_midtrans || ''; + console.log('Fallback URL:', url); // Debug + if (url) { window.location.href = url; return; } - // 4) Masih kosong → error throw new Error('Link pembayaran belum tersedia.'); } catch (e) { toast.error( -- cgit v1.2.3 From c4a16600cd75afea1ca56cfa38d0db4088ad203f Mon Sep 17 00:00:00 2001 From: Miqdad Date: Sun, 7 Sep 2025 07:57:26 +0700 Subject: Remove console log --- src/lib/transaction/components/Transaction.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index cbe725c7..5ee56972 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -230,7 +230,7 @@ const Transaction = ({ id }) => { } ); - console.log('API Response:', resp); // Debug + // console.log('API Response:', resp); // Debug // 2) Akses semua kemungkinan path let url = @@ -240,7 +240,7 @@ const Transaction = ({ id }) => { resp?.paymentSummary?.redirectUrl || ''; - console.log('Extracted URL:', url); // Debug + // console.log('Extracted URL:', url); // Debug if (url) { window.location.href = url; @@ -249,7 +249,7 @@ const Transaction = ({ id }) => { // 3) Fallback await transaction.refetch(); - console.log('Transaction data:', transaction.data); // Debug + // console.log('Transaction data:', transaction.data); // Debug url = transaction?.data?.result?.payment_summary?.redirect_url || @@ -257,7 +257,7 @@ const Transaction = ({ id }) => { transaction?.data?.payment_summary?.redirect_url || ''; - console.log('Fallback URL:', url); // Debug + // console.log('Fallback URL:', url); // Debug if (url) { window.location.href = url; -- cgit v1.2.3 From 57ace93dc3090a54d65d3b84ae50e8a9249eb314 Mon Sep 17 00:00:00 2001 From: Miqdad Date: Mon, 8 Sep 2025 14:58:30 +0700 Subject: Sip --- src/lib/transaction/components/Transaction.jsx | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/lib/transaction/components/Transaction.jsx') diff --git a/src/lib/transaction/components/Transaction.jsx b/src/lib/transaction/components/Transaction.jsx index 5ee56972..96c89aec 100644 --- a/src/lib/transaction/components/Transaction.jsx +++ b/src/lib/transaction/components/Transaction.jsx @@ -502,36 +502,40 @@ const Transaction = ({ id }) => { active={toOthers} close={() => setToOthers(null)} > -
+ {transaction.data?.status === 'draft' && ( + <> + + )} +
-- cgit v1.2.3