'use client'; import { getAvailablePaymentMethods } from '@/services/user/portal'; import { useQuery } from '@tanstack/react-query'; import { Label } from '@workspace/ui/components/label'; import { RadioGroup, RadioGroupItem } from '@workspace/ui/components/radio-group'; import { cn } from '@workspace/ui/lib/utils'; import { useTranslations } from 'next-intl'; import Image from 'next/image'; import React, { memo } from 'react'; interface PaymentMethodsProps { value: number; onChange: (value: number) => void; balance?: boolean; } const PaymentMethods: React.FC = ({ value, onChange, balance = true }) => { const t = useTranslations('subscribe'); const { data } = useQuery({ queryKey: ['getAvailablePaymentMethods', { balance }], queryFn: async () => { const { data } = await getAvailablePaymentMethods(); const list = data.data?.list || []; const methods = balance ? list : list.filter((item) => item.id !== -1); const defaultMethod = methods.find((item) => item.id)?.id; if (defaultMethod) onChange(defaultMethod); return methods; }, }); return ( <>
{t('paymentMethod')}
{ console.log(val); onChange(Number(val)); }} > {data?.map((item) => (
))}
); }; export default memo(PaymentMethods);