import { routeAuthBeforeLoad } from '@/utils/route'; import { createFileRoute } from '@tanstack/react-router'; import { useTranslation } from '@i18next-toolkit/react'; import { CommonWrapper } from '@/components/CommonWrapper'; import { ScrollArea } from '@/components/ui/scroll-area'; import { Statistic } from 'antd'; import { useMemo } from 'react'; import { trpc } from '../../api/trpc'; import { useCurrentWorkspaceId } from '../../store/user'; import { CommonHeader } from '@/components/CommonHeader'; import { Card, CardContent, CardHeader } from '@/components/ui/card'; import dayjs from 'dayjs'; import { formatNumber } from '@/utils/common'; export const Route = createFileRoute('/settings/usage')({ beforeLoad: routeAuthBeforeLoad, component: PageComponent, }); function PageComponent() { const { t } = useTranslation(); const workspaceId = useCurrentWorkspaceId(); const [startDate, endDate] = useMemo( () => [dayjs().startOf('month'), dayjs().endOf('day')], [] ); const { data } = trpc.billing.usage.useQuery({ workspaceId, startAt: startDate.valueOf(), endAt: endDate.valueOf(), }); return ( }>
{t('Statistic Date')}: {startDate.format('YYYY/MM/DD')} -{' '} {endDate.format('YYYY/MM/DD')}
{t('Website Accepted Count')} {formatNumber(data?.websiteAcceptedCount ?? 0)} {t('Website Event Count')} {formatNumber(data?.websiteEventCount ?? 0)} {t('Monitor Execution Count')} {formatNumber(data?.monitorExecutionCount ?? 0)}
); }