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 (
);
+ }
- case 'riopay':
+ case 'riopay': {
+ const riopayGradId = `${uid}-riopay`;
return (
);
+ }
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 = () => (