From 7ff7622605010636803112f5f0e15c3982ce304f Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 10 Jul 2024 05:03:16 +0000 Subject: [PATCH 1/3] Add Processing to status drop down filter (CORE-635) --- .../src/home/tabs/payments/PaymentsTab.tsx | 4 +- .../components/payment-view/PaymentView.tsx | 202 ++++++++---------- 2 files changed, 92 insertions(+), 114 deletions(-) diff --git a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx index b14a0dcf8..eea5864f2 100644 --- a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx +++ b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx @@ -37,6 +37,8 @@ function formatStatus(status: string): string { return 'Paid' case 'CANCELLED': return 'Cancel' + case 'PROCESSING': + return 'Processing' default: return status.replaceAll('_', ' ') } @@ -354,7 +356,7 @@ const ListView: FC = (props: ListViewProps) => { }, { label: 'Processing', - value: 'Processing', + value: 'PROCESSING', }, ], type: 'dropdown', diff --git a/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx b/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx index 869f971e5..59cf9889a 100644 --- a/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx +++ b/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx @@ -110,7 +110,12 @@ const PaymentView: React.FC = (props: PaymentViewProps) => {
Net Payment -

{props.payment.netPaymentNumber.toLocaleString(undefined, { currency: 'USD', style: 'currency' })}

+

+ {props.payment.netPaymentNumber.toLocaleString(undefined, { + currency: 'USD', + style: 'currency', + })} +

@@ -124,18 +129,14 @@ const PaymentView: React.FC = (props: PaymentViewProps) => {
{props.payment.datePaid !== '-' && ( - ( -
- Date Paid -

{props.payment.datePaid}

-
- ))} +
+ Date Paid +

{props.payment.datePaid}

+
+ )}
-
- - )} - - {view === 'external_transaction' && ( - <> -
- {externalTransactionAudit && externalTransactionAudit.length > 0 && externalTransactionAudit.map((externalTransaction: PayoutAudit, index: number) => ( - <> + {auditLines && + auditLines.length > 0 && + auditLines.map((line) => ( Internal Record - )} + key={line.id} + header={

{new Date(line.createdAt).toLocaleString()}

} containerClass={styles.container} - contentClass={styles.content} - > + contentClass={styles.content}>

- Provider Used: - {' '} - {externalTransaction.paymentMethodUsed} -

-

- Status: - {' '} - {externalTransaction.status} + User: {line.userId}

- Processed At: - {' '} - {externalTransaction.createdAt} + Action: {formatAction(line.action)}

- Totl Amount Processed: - {' '} - {externalTransaction.totalNetAmount} + Note: {line.note}

- External Record - )} - containerClass={styles.container} - contentClass={styles.content} - > -
-
-
{JSON.stringify(externalTransaction.externalTransactionDetails, undefined, 2)}
-
-
-
- - ))} - {(externalTransactionAudit === undefined) - && ( -
-

No external transaction data is available

-
- )} + ))} + {(auditLines === undefined || auditLines.length === 0) && ( +
+

No audit data available

+
+ )}
-
)} + {view === 'external_transaction' && ( + <> +
+ {externalTransactionAudit && + externalTransactionAudit.length > 0 && + externalTransactionAudit.map((externalTransaction: PayoutAudit, index: number) => ( + <> + Internal Record} + containerClass={styles.container} + contentClass={styles.content}> +
+
+

+ Provider Used:{' '} + {externalTransaction.paymentMethodUsed} +

+

+ Status: {externalTransaction.status} +

+

+ Processed At: {externalTransaction.createdAt} +

+

+ Totl Amount Processed:{' '} + {externalTransaction.totalNetAmount} +

+
+
+
+ External Record} + containerClass={styles.container} + contentClass={styles.content}> +
+
+
+                                                        {JSON.stringify(
+                                                            externalTransaction.externalTransactionDetails,
+                                                            undefined,
+                                                            2,
+                                                        )}
+                                                    
+
+
+
+ + ))} + {externalTransactionAudit === undefined && ( +
+

No external transaction data is available

+
+ )} +
+
+
+ + )} ) From d0449da2cc73eb8c7a7d32718c67fe8a34dfbed7 Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Mon, 26 Aug 2024 21:36:37 +0000 Subject: [PATCH 2/3] Lint cleanup and typo --- package.json | 2 +- .../components/payment-view/PaymentView.tsx | 53 +++++++++++++------ yarn.lock | 4 +- 3 files changed, 39 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 9fdc1ddf8..05c805a94 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,7 @@ "shortid": "^2.2.16", "styled-components": "^5.3.6", "swr": "^1.3.0", - "tc-auth-lib": "topcoder-platform/tc-auth-lib#1.0.26", + "tc-auth-lib": "topcoder-platform/tc-auth-lib#1.0.27", "turndown": "^4.0.2", "typescript": "^4.8.4", "universal-navigation": "https://github.com/topcoder-platform/universal-navigation#9fc50d938be7182", diff --git a/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx b/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx index 59cf9889a..75cec34bb 100644 --- a/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx +++ b/src/apps/wallet-admin/src/lib/components/payment-view/PaymentView.tsx @@ -150,24 +150,37 @@ const PaymentView: React.FC = (props: PaymentViewProps) => { {view === 'audit' && ( <>
- {auditLines && - auditLines.length > 0 && - auditLines.map((line) => ( + {auditLines + && auditLines.length > 0 + && auditLines.map(line => ( {new Date(line.createdAt).toLocaleString()}} + header={ + ( +

+ { + new Date(line.createdAt) + .toLocaleString() + } +

+ ) + } containerClass={styles.container} - contentClass={styles.content}> + contentClass={styles.content} + >

- User: {line.userId} + User: + {line.userId}

- Action: {formatAction(line.action)} + Action: + {formatAction(line.action)}

- Note: {line.note} + Note: + {line.note}

@@ -188,29 +201,34 @@ const PaymentView: React.FC = (props: PaymentViewProps) => { {view === 'external_transaction' && ( <>
- {externalTransactionAudit && - externalTransactionAudit.length > 0 && - externalTransactionAudit.map((externalTransaction: PayoutAudit, index: number) => ( + {externalTransactionAudit + && externalTransactionAudit.length > 0 + && externalTransactionAudit.map((externalTransaction: PayoutAudit, index: number) => ( <> Internal Record} containerClass={styles.container} - contentClass={styles.content}> + contentClass={styles.content} + >

- Provider Used:{' '} + Provider Used: + {' '} {externalTransaction.paymentMethodUsed}

- Status: {externalTransaction.status} + Status: + {externalTransaction.status}

- Processed At: {externalTransaction.createdAt} + Processed At: + {externalTransaction.createdAt}

- Totl Amount Processed:{' '} + Total Amount Processed: + {' '} {externalTransaction.totalNetAmount}

@@ -220,7 +238,8 @@ const PaymentView: React.FC = (props: PaymentViewProps) => { key={`external-record${index}`} header={

External Record

} containerClass={styles.container} - contentClass={styles.content}> + contentClass={styles.content} + >
diff --git a/yarn.lock b/yarn.lock
index bda7fe7e9..272b2eb1c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -18449,9 +18449,9 @@ tar@^6.1.13:
     mkdirp "^1.0.3"
     yallist "^4.0.0"
 
-tc-auth-lib@topcoder-platform/tc-auth-lib#1.0.26:
+tc-auth-lib@topcoder-platform/tc-auth-lib#1.0.27:
   version "1.0.2"
-  resolved "https://codeload.github.com/topcoder-platform/tc-auth-lib/tar.gz/3e1b78473b421327c492a814df3f6c72f17e860f"
+  resolved "https://codeload.github.com/topcoder-platform/tc-auth-lib/tar.gz/dc5b3a29ac3b8e2a0f386fce411c6533c2f33f05"
   dependencies:
     lodash "^4.17.19"
 

From c6c1c2e119d12cf5523024013c6ab52d685df6a4 Mon Sep 17 00:00:00 2001
From: Justin Gasper 
Date: Mon, 26 Aug 2024 22:30:55 +0000
Subject: [PATCH 3/3] Redirect 'Payments' tab to wallet

---
 .../src/settings/tabs/AccountSettingsTabs.tsx    | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/apps/accounts/src/settings/tabs/AccountSettingsTabs.tsx b/src/apps/accounts/src/settings/tabs/AccountSettingsTabs.tsx
index 6fd9f5a9e..8bf088a62 100644
--- a/src/apps/accounts/src/settings/tabs/AccountSettingsTabs.tsx
+++ b/src/apps/accounts/src/settings/tabs/AccountSettingsTabs.tsx
@@ -2,13 +2,13 @@ import { Dispatch, FC, SetStateAction, useMemo, useState } from 'react'
 import { useLocation } from 'react-router-dom'
 import { KeyedMutator } from 'swr'
 
+import { EnvironmentConfig } from '~/config'
 import { useMemberTraits, UserProfile, UserTraits } from '~/libs/core'
 import { PageTitle, TabsNavbar, TabsNavItem } from '~/libs/ui'
 
 import { AccountSettingsTabsConfig, AccountSettingsTabViews, getHashFromTabId, getTabIdFromHash } from './config'
 import { AccountTab } from './account'
 import { PreferencesTab } from './preferences'
-import { PaymentsTab } from './payments'
 import { ToolsTab } from './tools'
 import { TCandYouTab } from './tcandyou'
 import styles from './AccountSettingsTabs.module.scss'
@@ -31,9 +31,13 @@ const AccountSettingsTabs: FC = (props: AccountSetting
     } = useMemberTraits(props.profile.handle)
 
     function handleTabChange(tabId: string): void {
-        setActiveTab(tabId)
-        window.location.hash = getHashFromTabId(tabId)
-        mutateTraits() // mutate member traits to refresh the data
+        if (tabId === AccountSettingsTabViews.payment) {
+            window.location.href = `https://wallet.${EnvironmentConfig.TC_DOMAIN}`
+        } else {
+            setActiveTab(tabId)
+            window.location.hash = getHashFromTabId(tabId)
+            mutateTraits() // mutate member traits to refresh the data
+        }
     }
 
     return (
@@ -66,10 +70,6 @@ const AccountSettingsTabs: FC = (props: AccountSetting
             {activeTab === AccountSettingsTabViews.preferences && (
                 
             )}
-
-            {activeTab === AccountSettingsTabViews.payment && (
-                
-            )}
         
) }