From b04cf63eb74567197b1a4b36a783bb966940da6f Mon Sep 17 00:00:00 2001 From: firewookie Date: Tue, 10 Mar 2026 15:35:01 +0500 Subject: [PATCH] FIX PR Problems --- src/components/PaymentMethodIcon.tsx | 20 ++++++++++++++------ src/components/sales-stats/DepositsTab.tsx | 17 +---------------- src/constants/paymentMethods.ts | 17 +++++++++++++++++ src/pages/AdminPaymentMethodEdit.tsx | 19 +------------------ 4 files changed, 33 insertions(+), 40 deletions(-) create mode 100644 src/constants/paymentMethods.ts diff --git a/src/components/PaymentMethodIcon.tsx b/src/components/PaymentMethodIcon.tsx index fa179e5..9609e4c 100644 --- a/src/components/PaymentMethodIcon.tsx +++ b/src/components/PaymentMethodIcon.tsx @@ -1,3 +1,5 @@ +import { useId } from 'react'; + interface PaymentMethodIconProps { method: string; className?: string; @@ -7,6 +9,8 @@ export default function PaymentMethodIcon({ method, className = 'h-8 w-8', }: PaymentMethodIconProps) { + const uid = useId(); + switch (method) { case 'telegram_stars': return ( @@ -171,16 +175,17 @@ export default function PaymentMethodIcon({ ); - case 'kassa_ai': + case 'kassa_ai': { + const kassaGradId = `${uid}-kassaAi`; return ( - + - + AI @@ -188,17 +193,19 @@ export default function PaymentMethodIcon({ ); + } - case 'riopay': + case 'riopay': { + const riopayGradId = `${uid}-riopay`; return ( - + - + RP @@ -206,6 +213,7 @@ export default function PaymentMethodIcon({ ); + } default: return ( diff --git a/src/components/sales-stats/DepositsTab.tsx b/src/components/sales-stats/DepositsTab.tsx index 19aca2b..8b1078c 100644 --- a/src/components/sales-stats/DepositsTab.tsx +++ b/src/components/sales-stats/DepositsTab.tsx @@ -4,6 +4,7 @@ import { useTranslation } from 'react-i18next'; import type { SalesStatsParams } from '../../api/adminSalesStats'; import { salesStatsApi } from '../../api/adminSalesStats'; +import { METHOD_LABELS } from '../../constants/paymentMethods'; import { SALES_STATS } from '../../constants/salesStats'; import { useCurrency } from '../../hooks/useCurrency'; import { StatCard } from '../stats'; @@ -16,22 +17,6 @@ interface DepositsTabProps { params: SalesStatsParams; } -const METHOD_LABELS: Record = { - telegram_stars: 'Telegram Stars', - tribute: 'Tribute', - yookassa: 'YooKassa', - cryptobot: 'CryptoBot', - heleket: 'Heleket', - mulenpay: 'Mulenpay', - pal24: 'Pal24', - wata: 'Wata', - platega: 'Platega', - cloudpayments: 'CloudPayments', - freekassa: 'FreeKassa', - kassa_ai: 'Kassa AI', - riopay: 'RioPay', -}; - export function DepositsTab({ params }: DepositsTabProps) { const { t } = useTranslation(); const { formatWithCurrency } = useCurrency(); diff --git a/src/constants/paymentMethods.ts b/src/constants/paymentMethods.ts new file mode 100644 index 0000000..52b6477 --- /dev/null +++ b/src/constants/paymentMethods.ts @@ -0,0 +1,17 @@ +export const METHOD_LABELS: Record = { + telegram_stars: 'Telegram Stars', + tribute: 'Tribute', + cryptobot: 'CryptoBot', + heleket: 'Heleket', + yookassa: 'YooKassa', + mulenpay: 'MulenPay', + pal24: 'PayPalych', + platega: 'Platega', + wata: 'WATA', + freekassa: 'Freekassa', + freekassa_sbp: 'Freekassa СБП', + freekassa_card: 'Freekassa Карта', + cloudpayments: 'CloudPayments', + kassa_ai: 'Kassa AI', + riopay: 'RioPay', +}; diff --git a/src/pages/AdminPaymentMethodEdit.tsx b/src/pages/AdminPaymentMethodEdit.tsx index 0169239..2f76918 100644 --- a/src/pages/AdminPaymentMethodEdit.tsx +++ b/src/pages/AdminPaymentMethodEdit.tsx @@ -3,6 +3,7 @@ import { useParams, useNavigate } from 'react-router'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { useTranslation } from 'react-i18next'; import { adminPaymentMethodsApi } from '../api/adminPaymentMethods'; +import { METHOD_LABELS } from '../constants/paymentMethods'; import type { PromoGroupSimple } from '../types'; import { usePlatform } from '../platform/hooks/usePlatform'; import { createNumberInputHandler, toNumber } from '../utils/inputHelpers'; @@ -18,24 +19,6 @@ const BackIcon = () => ( ); -const METHOD_LABELS: Record = { - telegram_stars: 'Telegram Stars', - tribute: 'Tribute', - cryptobot: 'CryptoBot', - heleket: 'Heleket', - yookassa: 'YooKassa', - mulenpay: 'MulenPay', - pal24: 'PayPalych', - platega: 'Platega', - wata: 'WATA', - freekassa: 'Freekassa', - freekassa_sbp: 'Freekassa СБП', - freekassa_card: 'Freekassa Карта', - cloudpayments: 'CloudPayments', - kassa_ai: 'Kassa AI', - riopay: 'RioPay', -}; - const CheckIcon = () => (