From e1e03733cd9080252541bef97065c9a7366279c0 Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Mon, 19 May 2025 14:13:29 +0700 Subject: [PATCH] update --- .../blocks/DetailApprovalTransaction.tsx | 34 ++++++++++++++++--- .../hooks/ApprovalTransactionContext.tsx | 6 +++- .../blocks/DetailTransaction.tsx | 30 ++++++++++++++-- .../hooks/TransactionContext.tsx | 16 +++++++-- 4 files changed, 75 insertions(+), 11 deletions(-) diff --git a/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx b/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx index dd878f6..82c4c59 100644 --- a/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx +++ b/src/pages/transaction/approval-transaction/blocks/DetailApprovalTransaction.tsx @@ -223,6 +223,7 @@ const DetailApprovalTransaction = () => { {(() => { let status; let badgeClass; + if (transactionDetails?.status === 'C') { status = 'COMPLETE'; badgeClass = 'bg-green-100 text-green-800'; @@ -232,9 +233,15 @@ const DetailApprovalTransaction = () => { } else if (transactionDetails?.status === 'O') { status = 'ON PROCESS'; badgeClass = 'bg-blue-100 text-blue-800'; - } else { + } else if (transactionDetails?.status === 'P') { status = 'PENDING'; badgeClass = 'bg-gray-100 text-gray-800'; + } else if (transactionDetails?.status === 'R') { + status = 'ROLLBACK'; + badgeClass = 'bg-yellow-100 text-yellow-800'; + } else if (transactionDetails?.status === 'S') { + status = 'REVERSAL'; + badgeClass = 'bg-purple-100 text-purple-800'; } return ( @@ -261,7 +268,7 @@ const DetailApprovalTransaction = () => { kind = 'TOP UP'; } else if (transactionDetails?.kind === 'R') { kind = 'RETURN'; - }else if (transactionDetails?.kind === 'E') { + } else if (transactionDetails?.kind === 'E') { kind = 'REWARD'; } return kind; @@ -419,16 +426,33 @@ const DetailApprovalTransaction = () => {

{(() => { let status; + let badgeClass; + if (transactionDetails?.status === 'C') { status = 'COMPLETE'; + badgeClass = 'bg-green-100 text-green-800'; } else if (transactionDetails?.status === 'F') { status = 'FAILED'; + badgeClass = 'bg-red-100 text-red-800'; } else if (transactionDetails?.status === 'O') { status = 'ON PROCESS'; - } else { + badgeClass = 'bg-blue-100 text-blue-800'; + } else if (transactionDetails?.status === 'P') { status = 'PENDING'; + badgeClass = 'bg-gray-100 text-gray-800'; + } else if (transactionDetails?.status === 'R') { + status = 'ROLLBACK'; + badgeClass = 'bg-yellow-100 text-yellow-800'; + } else if (transactionDetails?.status === 'S') { + status = 'REVERSAL'; + badgeClass = 'bg-purple-100 text-purple-800'; } - return status; + + return ( + + {status} + + ); })()}

@@ -447,7 +471,7 @@ const DetailApprovalTransaction = () => { kind = 'TOP UP'; } else if (transactionDetails?.kind === 'R') { kind = 'RETURN'; - }else if (transactionDetails?.kind === 'E') { + } else if (transactionDetails?.kind === 'E') { kind = 'REWARD'; } return kind; diff --git a/src/pages/transaction/approval-transaction/hooks/ApprovalTransactionContext.tsx b/src/pages/transaction/approval-transaction/hooks/ApprovalTransactionContext.tsx index 9ec95fa..666b219 100644 --- a/src/pages/transaction/approval-transaction/hooks/ApprovalTransactionContext.tsx +++ b/src/pages/transaction/approval-transaction/hooks/ApprovalTransactionContext.tsx @@ -158,11 +158,15 @@ const ApprovalTransactionProvider = ({ children }: { children: React.ReactNode } }, { accessorFn: (row) => { + switch (row.status) { case 'C': return 'COMPLETE'; case 'F': return 'FAILED'; case 'O': return 'ON PROCESS'; - default: return 'PENDING'; + case "P" : return 'PENDING'; + case 'R': return 'ROLLBACK'; + case 'S': return 'REVERSAL'; + default: return 'UNKNOWN'; } }, id: 'status', diff --git a/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx b/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx index 0c91626..2e12cf1 100644 --- a/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx +++ b/src/pages/transaction/history-transaction/blocks/DetailTransaction.tsx @@ -283,6 +283,7 @@ const DetailTransaction = () => { {(() => { let status; let badgeClass; + if (transactionDetails?.status === 'C') { status = 'COMPLETE'; badgeClass = 'bg-green-100 text-green-800'; @@ -292,9 +293,15 @@ const DetailTransaction = () => { } else if (transactionDetails?.status === 'O') { status = 'ON PROCESS'; badgeClass = 'bg-blue-100 text-blue-800'; - } else { + } else if (transactionDetails?.status === 'P') { status = 'PENDING'; badgeClass = 'bg-gray-100 text-gray-800'; + } else if (transactionDetails?.status === 'R') { + status = 'ROLLBACK'; + badgeClass = 'bg-yellow-100 text-yellow-800'; + } else if (transactionDetails?.status === 'S') { + status = 'REVERSAL'; + badgeClass = 'bg-purple-100 text-purple-800'; } return ( @@ -484,16 +491,33 @@ const DetailTransaction = () => {

{(() => { let status; + let badgeClass; + if (transactionDetails?.status === 'C') { status = 'COMPLETE'; + badgeClass = 'bg-green-100 text-green-800'; } else if (transactionDetails?.status === 'F') { status = 'FAILED'; + badgeClass = 'bg-red-100 text-red-800'; } else if (transactionDetails?.status === 'O') { status = 'ON PROCESS'; - } else { + badgeClass = 'bg-blue-100 text-blue-800'; + } else if (transactionDetails?.status === 'P') { status = 'PENDING'; + badgeClass = 'bg-gray-100 text-gray-800'; + } else if (transactionDetails?.status === 'R') { + status = 'ROLLBACK'; + badgeClass = 'bg-yellow-100 text-yellow-800'; + } else if (transactionDetails?.status === 'S') { + status = 'REVERSAL'; + badgeClass = 'bg-purple-100 text-purple-800'; } - return status; + + return ( + + {status} + + ); })()}

diff --git a/src/pages/transaction/history-transaction/hooks/TransactionContext.tsx b/src/pages/transaction/history-transaction/hooks/TransactionContext.tsx index 61c9de6..8f2a12c 100644 --- a/src/pages/transaction/history-transaction/hooks/TransactionContext.tsx +++ b/src/pages/transaction/history-transaction/hooks/TransactionContext.tsx @@ -81,7 +81,7 @@ const TransactionProvider = ({ children }: { children: React.ReactNode }) => { case 'L': return 'PURCHASE LOJA'; case 'B': return 'TOP UP P24'; case 'A': return 'TRANSFER AGENT'; - case 'M': return 'WITHDRAWAL AGENT'; + case 'M': return 'WITHDRAWAL AGENT'; default: return '_'; } }, @@ -201,10 +201,22 @@ const TransactionProvider = ({ children }: { children: React.ReactNode }) => { label = 'ON PROCESS'; badgeClass = 'bg-blue-100 text-blue-800'; break; - default: + case 'P': label = 'PENDING'; badgeClass = 'bg-gray-100 text-gray-800'; break; + case 'R': + label = 'ROLLBACK'; + badgeClass = 'bg-yellow-100 text-yellow-800'; + break; + case 'S': + label = 'REVERSAL'; + badgeClass = 'bg-purple-100 text-purple-800'; + break; + default: + label = ''; + badgeClass = 'bg-gray-100 text-gray-800'; + break; } return (