diff --git a/src/entities/transaction/ui/list-item.tsx b/src/entities/transaction/ui/list-item.tsx index e8e7296..30de3cb 100644 --- a/src/entities/transaction/ui/list-item.tsx +++ b/src/entities/transaction/ui/list-item.tsx @@ -1,7 +1,7 @@ import { NumericFormat } from 'react-number-format'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; -import { ListItemProps, TransactionCategory } from '../model/types'; +import { BillingRequestStatus, CashReceiptTransactionType, EscrowDeliveryStatus, ListItemProps, TransactionCategory } from '../model/types'; import moment from 'moment'; import { useStore } from '@/shared/model/store'; import { getAllTransactionStatusCode, getPaymentMethodName } from '../model/contant'; @@ -16,7 +16,7 @@ export const ListItem = ({ paymentMethod, processResult, transactionType, transactionDateTime, transactionAmount, deliveryStatus, settlementStatus, - cancelStatus, billKey, orderNumber + cancelStatus, billKey, orderNumber, requestStatus }: ListItemProps) => { const { navigate } = useNavigate(); const { t } = useTranslation(); @@ -36,15 +36,53 @@ export const ListItem = ({ const getDotClass = (str?: string) => { let rs = ''; - if(statusCode === '0'){ - rs = ''; + if(transactionCategory === TransactionCategory.AllTransaction){ + if(statusCode === '0' + || statusCode === '4' + ){ + rs = 'blue'; + } + else if(statusCode === '1' + || statusCode === '2' + || statusCode === '3' + ){ + rs = 'gray'; + } } - else if(statusCode === '1'){ - rs = 'blue'; + else if(transactionCategory === TransactionCategory.CashReceipt){ + if(transactionType === CashReceiptTransactionType.APPROVAL){ + rs = 'blue'; + } + else if(transactionType === CashReceiptTransactionType.CANCEL){ + rs = 'gray'; + } } - else if(statusCode === '2'){ - rs = 'gray'; + else if(transactionCategory === TransactionCategory.Escrow){ + if(deliveryStatus === EscrowDeliveryStatus.DELIVERY_INSERT + || deliveryStatus === EscrowDeliveryStatus.DELIVERY_COMPLETE + || deliveryStatus === EscrowDeliveryStatus.PURCHASE_CONFIRM + ){ + rs = 'blue'; + } + else if(deliveryStatus === EscrowDeliveryStatus.PAY_COMPLETE + || deliveryStatus === EscrowDeliveryStatus.PURCHASE_REJECT + || deliveryStatus === EscrowDeliveryStatus.RETURN_PROCESSING + || EscrowDeliveryStatus.DEPOSIT_COMPLETE + ){ + rs = 'gray'; + } } + else if(transactionCategory === TransactionCategory.Billing){ + if(requestStatus === BillingRequestStatus.SUCCESS){ + rs = 'blue'; + } + else if(requestStatus === BillingRequestStatus.IN_PROGRESS + || requestStatus === BillingRequestStatus.REQUEST_CANCEL + ){ + rs = 'gray'; + } + } + return rs; };