From 4c99809766202ce313b20063394f347a2e40ec84 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Wed, 18 Jun 2025 09:40:31 +0300 Subject: [PATCH 1/2] PM-1278 - disable payme button in wallet if min withdrawal amount is not met --- .../src/home/tabs/winnings/WinningsTab.tsx | 3 +- .../payments-table/PaymentTable.module.scss | 7 ++++ .../payments-table/PaymentTable.tsx | 35 +++++++++++++------ .../wallet/src/lib/models/WalletDetails.ts | 1 + .../ui/lib/components/tooltip/Tooltip.tsx | 23 ++++++------ 5 files changed, 48 insertions(+), 21 deletions(-) diff --git a/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx b/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx index f50550f62..b740ff1d6 100644 --- a/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx +++ b/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx @@ -3,7 +3,7 @@ import { toast } from 'react-toastify' import { AxiosError } from 'axios' import { Link } from 'react-router-dom' -import React, { FC, useCallback, useEffect } from 'react' +import React, { FC, useCallback, useEffect, useMemo } from 'react' import { Collapsible, ConfirmModal, LoadingCircles } from '~/libs/ui' import { UserProfile } from '~/libs/core' @@ -414,6 +414,7 @@ const ListView: FC = (props: ListViewProps) => { ; selectedPayments?: { [paymentId: string]: Winning }; currentPage: number; @@ -85,6 +86,8 @@ const PaymentsTable: React.FC = (props: PaymentTableProps) => const total = calculateTotal() + const isPaymeDisabled = !total || total < props.minWithdrawAmount; + return ( <>
@@ -191,15 +194,27 @@ const PaymentsTable: React.FC = (props: PaymentTableProps) =>
)} - + + Minimum withdrawal amounti is ${props.minWithdrawAmount}. +
+ Please select more payments. + + )} disableTooltip={!isPaymeDisabled}> + +
) diff --git a/src/apps/wallet/src/lib/models/WalletDetails.ts b/src/apps/wallet/src/lib/models/WalletDetails.ts index f81cac0d8..8f11c8510 100644 --- a/src/apps/wallet/src/lib/models/WalletDetails.ts +++ b/src/apps/wallet/src/lib/models/WalletDetails.ts @@ -23,4 +23,5 @@ export interface WalletDetails { primaryCurrency?: string | null; estimatedFees?: string | null; taxWithholdingPercentage?: string | null; + minWithdrawAmount: number; } diff --git a/src/libs/ui/lib/components/tooltip/Tooltip.tsx b/src/libs/ui/lib/components/tooltip/Tooltip.tsx index 489f444b8..7351b0830 100644 --- a/src/libs/ui/lib/components/tooltip/Tooltip.tsx +++ b/src/libs/ui/lib/components/tooltip/Tooltip.tsx @@ -25,6 +25,7 @@ interface TooltipProps { children?: ReactNode triggerOn?: 'click' | 'hover' strategy?: 'absolute' | 'fixed' + disableTooltip?: boolean } function wrapComponents(el: ReactNode, disableWrap?: boolean): ReactNode { @@ -56,16 +57,18 @@ const Tooltip: FC = (props: TooltipProps) => { return ( <> {renderTrigger()} - - {props.content} - + {!props.disableTooltip && ( + + {props.content} + + )} ) } From 620eb49c67b017c038ca3bd69bf52c4813425347 Mon Sep 17 00:00:00 2001 From: Vasilica Olariu Date: Wed, 18 Jun 2025 09:47:21 +0300 Subject: [PATCH 2/2] lint fixes --- .../src/home/tabs/winnings/WinningsTab.tsx | 2 +- .../payments-table/PaymentTable.tsx | 24 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx b/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx index b740ff1d6..ea3a25a95 100644 --- a/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx +++ b/src/apps/wallet/src/home/tabs/winnings/WinningsTab.tsx @@ -3,7 +3,7 @@ import { toast } from 'react-toastify' import { AxiosError } from 'axios' import { Link } from 'react-router-dom' -import React, { FC, useCallback, useEffect, useMemo } from 'react' +import React, { FC, useCallback, useEffect } from 'react' import { Collapsible, ConfirmModal, LoadingCircles } from '~/libs/ui' import { UserProfile } from '~/libs/core' diff --git a/src/apps/wallet/src/lib/components/payments-table/PaymentTable.tsx b/src/apps/wallet/src/lib/components/payments-table/PaymentTable.tsx index 72d84e49d..09467435c 100644 --- a/src/apps/wallet/src/lib/components/payments-table/PaymentTable.tsx +++ b/src/apps/wallet/src/lib/components/payments-table/PaymentTable.tsx @@ -86,7 +86,7 @@ const PaymentsTable: React.FC = (props: PaymentTableProps) => const total = calculateTotal() - const isPaymeDisabled = !total || total < props.minWithdrawAmount; + const isPaymeDisabled = !total || total < props.minWithdrawAmount return ( <> @@ -194,19 +194,25 @@ const PaymentsTable: React.FC = (props: PaymentTableProps) => )} - - Minimum withdrawal amounti is ${props.minWithdrawAmount}. -
- Please select more payments. - - )} disableTooltip={!isPaymeDisabled}> + + Minimum withdrawal amounti is $ + {props.minWithdrawAmount} + . +
+ Please select more payments. + + )} + disableTooltip={!isPaymeDisabled} + >