'use client'; import { Display } from '@/components/display'; import { getUserDetail, getUserSubscribeById } from '@/services/admin/user'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; import { HoverCard, HoverCardContent, HoverCardTrigger } from '@workspace/ui/components/hover-card'; import { formatBytes, formatDate } from '@workspace/ui/utils'; import { useTranslations } from 'next-intl'; import Link from 'next/link'; export function UserSubscribeDetail({ id, enabled }: { id: number; enabled: boolean }) { const t = useTranslations('user'); const { data } = useQuery({ enabled: id !== 0 && enabled, queryKey: ['getUserSubscribeById', id], queryFn: async () => { const { data } = await getUserSubscribeById({ id }); return data.data; }, }); if (!id) return '--'; const usedTraffic = data ? data.upload + data.download : 0; const totalTraffic = data?.traffic || 0; return (

{t('subscriptionInfo')}

  • {t('subscriptionId')} {data?.id || '--'}
  • {t('subscriptionName')} {data?.subscribe?.name || '--'}
  • {t('token')}
    {data?.token || '--'}
  • {t('trafficUsage')} {data ? totalTraffic === 0 ? `${formatBytes(usedTraffic)} / ${t('unlimited')}` : `${formatBytes(usedTraffic)} / ${formatBytes(totalTraffic)}` : '--'}
  • {t('startTime')} {data?.start_time ? formatDate(data.start_time) : '--'}
  • {t('expireTime')} {data?.expire_time ? formatDate(data.expire_time) : '--'}

{t('userInfo')} {data?.user_id && ( )}

); } export function UserDetail({ id }: { id: number }) { const t = useTranslations('user'); const { data } = useQuery({ enabled: id !== 0, queryKey: ['getUserDetail', id], queryFn: async () => { const { data } = await getUserDetail({ id }); return data.data; }, }); if (!id) return '--'; return (
  • ID {data?.id}
  • {t('balance')}
  • {t('giftAmount')}
  • {t('commission')}
  • {t('createdAt')} {data?.created_at && formatDate(data?.created_at)}
); }