diff --git a/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx b/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx index 4b5d549..35756d2 100644 --- a/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx +++ b/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx @@ -10,8 +10,10 @@ import { DialogHeader, DialogTitle } from '@/components/ui/dialog'; +import { Button } from '@/components/ui/button'; const API_URL = apiConfig.transaction; +const API_URL_CURRENT_BALANCE = apiConfig.service_wallet; const DetailApprovalTransaction = () => { const { GetData } = useCallApi(); @@ -51,6 +53,60 @@ const DetailApprovalTransaction = () => { } }, [showDetailDialog]); + const [currentBalance, setCurrentBalance] = useState(null); + const [currentBalanceTransfer, setCurrentBalanceTransfer] = useState(null); + useEffect(() => { + setCurrentBalance(null); + }, [transactionDetails]); + + useEffect(() => { + setCurrentBalanceTransfer(null); + }, [transactionDetails]); + + const getCurrentBallanceWallet = async (customerId: string) => { + try { + const responsecurrentbalance = await GetData( + `${API_URL_CURRENT_BALANCE}/dashboard/balance/account/${customerId}`, + {} + ); + + const match = responsecurrentbalance?.data?.find( + (item: any) => item.id_wallet === transactionDetails?.origin_wallet?.id + ); + + if (match) { + // console.log('Matched Wallet:', match); // Optional debug + return match.amount; + } + } catch (error) { + console.error('Error fetching current balance', error); + } + + return null; + }; + + const getCurrentBallanceWalletTransfer = async (customerIdtransfer: string) => { + try { + const response = await GetData( + `${API_URL_CURRENT_BALANCE}/dashboard/balance/account/${customerIdtransfer}`, + {} + ); + + const match = response?.data?.find( + (item: any) => item.id_wallet === transactionDetails?.transfer?.destination_wallet?.id + ); + + if (match) { + // console.log('Matched Wallet:', match); + return match.amount; + } + } catch (error) { + console.error('Error fetching current balance', error); + } + + return null; + }; + return ( @@ -471,7 +527,27 @@ const DetailApprovalTransaction = () => {

Description

{transactionDetails?.origin_wallet.description}

+
+

Current Balance

+

+ {currentBalance !== null && currentBalance !== undefined + ? new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(currentBalance) + : '-'} +

+
+ )} @@ -482,16 +558,42 @@ const DetailApprovalTransaction = () => { {!transactionDetails?.transfer ? (
No Data available
) : ( -
-
-

Name

-

{transactionDetails.transfer.destination_wallet.name}

+ <> +
+
+

Name

+

{transactionDetails.transfer.destination_wallet.name}

+
+
+

Description

+

{transactionDetails.transfer.destination_wallet.description}

+
+
+

Current Balance

+

+ {currentBalanceTransfer !== null + ? new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + }).format(currentBalanceTransfer) + : '-'} +

+
-
-

Description

-

{transactionDetails.transfer.destination_wallet.description}

-
-
+ + )}
)} @@ -540,8 +642,8 @@ const DetailApprovalTransaction = () => { }) : ''} {log.request_body} - {log.response_body} - {log.request_endpoint} + {log.response_body} + {log.request_endpoint} )) ) : ( diff --git a/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx b/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx index de6a873..decf631 100644 --- a/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx +++ b/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx @@ -13,11 +13,15 @@ import { DialogTitle } from '@/components/ui/dialog'; import { useDataGrid } from '@/components'; +import { Button } from '@/components/ui/button'; const API_URL = apiConfig.transaction; +const API_URL_CURRENT_BALANCE = apiConfig.service_wallet; + const DetailTransaction = () => { const { GetData } = useCallApi(); + // const { reload } = useDataGrid(); const { showDetailDialog, @@ -45,7 +49,7 @@ const DetailTransaction = () => { id: selectedTransactionId }); setTransactionDetails(response?.data); - // console.log(response?.data); + // console.log(response?.data.origin_customer.id); // console.log(selectedTransactionId); } catch (error) { console.error('Error fetching transaction', error); @@ -67,6 +71,61 @@ const DetailTransaction = () => { } }, [showDetailDialog]); + const [currentBalance, setCurrentBalance] = useState(null); + const [currentBalanceTransfer, setCurrentBalanceTransfer] = useState(null); + + useEffect(() => { + setCurrentBalance(null); + }, [transactionDetails]); + + useEffect(() => { + setCurrentBalanceTransfer(null); + }, [transactionDetails]); + + const getCurrentBallanceWallet = async (customerId: string) => { + try { + const responsecurrentbalance = await GetData( + `${API_URL_CURRENT_BALANCE}/dashboard/balance/account/${customerId}`, + {} + ); + + const match = responsecurrentbalance?.data?.find( + (item: any) => item.id_wallet === transactionDetails?.origin_wallet?.id + ); + + if (match) { + // console.log('Matched Wallet:', match); // Optional debug + return match.amount; + } + } catch (error) { + console.error('Error fetching current balance', error); + } + + return null; + }; + + + const getCurrentBallanceWalletTransfer = async (customerIdtransfer: string) => { + try { + const response = await GetData( + `${API_URL_CURRENT_BALANCE}/dashboard/balance/account/${customerIdtransfer}`, + {} + ); + + const match = response?.data?.find( + (item: any) => item.id_wallet === transactionDetails?.transfer?.destination_wallet?.id + ); + + if (match) { + // console.log('Matched Wallet:', match); + return match.amount; + } + } catch (error) { + console.error('Error fetching current balance', error); + } + + return null; + }; return ( @@ -231,16 +290,6 @@ const DetailTransaction = () => { -

- Origin Wallet - - Wallet - -

-
- -
-

Purchase @@ -482,7 +531,27 @@ const DetailTransaction = () => {

Description

{transactionDetails?.origin_wallet.description}

+
+

Current Balance

+

+ {currentBalance !== null && currentBalance !== undefined + ? new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(currentBalance) + : '-'} +

+
+ )} @@ -493,16 +562,43 @@ const DetailTransaction = () => { {!transactionDetails?.transfer ? (
No Data available
) : ( -
-
-

Name

-

{transactionDetails.transfer.destination_wallet.name}

+ <> +
+
+

Name

+

{transactionDetails.transfer.destination_wallet.name}

+
+
+

Description

+

{transactionDetails.transfer.destination_wallet.description}

+
+
+

Current Balance

+

+ {currentBalanceTransfer !== null + ? new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + }).format(currentBalanceTransfer) + : '-'} +

+
-
-

Description

-

{transactionDetails.transfer.destination_wallet.description}

-
-
+ + + )}
)}