'use client'; import { Display } from '@/components/display'; import useGlobalStore from '@/config/use-global'; import { checkoutOrder, resetTraffic } from '@/services/user/order'; import { getAvailablePaymentMethods } from '@/services/user/payment'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, } from '@workspace/ui/components/dialog'; import { Label } from '@workspace/ui/components/label'; import { RadioGroup, RadioGroupItem } from '@workspace/ui/components/radio-group'; import { LoaderCircle } from 'lucide-react'; import { useTranslations } from 'next-intl'; import Image from 'next/legacy/image'; import { useRouter } from 'next/navigation'; import { useEffect, useState, useTransition } from 'react'; export default function ResetTraffic({ id, token, replacement, }: { id: number; token: string; replacement?: number; }) { const t = useTranslations('subscribe'); const { getUserInfo } = useGlobalStore(); const [open, setOpen] = useState(false); const router = useRouter(); const [params, setParams] = useState({ subscribe_id: id, payment: 'balance', subscribe_token: token, }); const [loading, startTransition] = useTransition(); const { data: paymentMethods } = useQuery({ queryKey: ['getAvailablePaymentMethods'], queryFn: async () => { const { data } = await getAvailablePaymentMethods(); return data.data?.list || []; }, }); useEffect(() => { if (id && token) { setParams((prev) => ({ ...prev, quantity: 1, subscribe_id: id, subscribe_token: token, })); } }, [id, token]); if (!replacement) return; return ( {t('resetTrafficTitle')} {t('resetTrafficDescription')}
{t('resetPrice')}
{t('paymentMethod')}
{ setParams({ ...params, payment: value, }); }} > {paymentMethods?.map((item) => { return (
); })}
); }