import { useState } from 'react' import { useQuery } from '@tanstack/react-query' import { useTranslation } from 'react-i18next' import { referralApi } from '../api/referral' import { useCurrency } from '../hooks/useCurrency' const CopyIcon = () => ( ) const CheckIcon = () => ( ) const ShareIcon = () => ( ) export default function Referral() { const { t } = useTranslation() const { formatAmount, currencySymbol, formatPositive } = useCurrency() const [copied, setCopied] = useState(false) const { data: info, isLoading } = useQuery({ queryKey: ['referral-info'], queryFn: referralApi.getReferralInfo, }) const { data: terms } = useQuery({ queryKey: ['referral-terms'], queryFn: referralApi.getReferralTerms, }) const { data: referralList } = useQuery({ queryKey: ['referral-list'], queryFn: () => referralApi.getReferralList({ per_page: 10 }), }) const { data: earnings } = useQuery({ queryKey: ['referral-earnings'], queryFn: () => referralApi.getReferralEarnings({ per_page: 10 }), }) const copyLink = () => { if (info?.referral_link) { navigator.clipboard.writeText(info.referral_link) setCopied(true) setTimeout(() => setCopied(false), 2000) } } const shareLink = () => { if (!info?.referral_link) return const shareText = t('referral.shareMessage', { percent: info?.commission_percent || 0, }) if (navigator.share) { navigator .share({ title: t('referral.title'), text: shareText, url: info.referral_link, }) .catch(() => { // ignore cancellation errors }) return } const telegramUrl = `https://t.me/share/url?url=${encodeURIComponent( info.referral_link )}&text=${encodeURIComponent(shareText)}` window.open(telegramUrl, '_blank', 'noopener,noreferrer') } if (isLoading) { return (
{t('referral.shareHint', { percent: info?.commission_percent || 0 })}