'use client' import { useTranslations } from 'next-intl'; import { convertBytes } from '@/app/lib/convertBytes'; import { useUserFilesInfo } from '@/app/hooks/react-query/useUserFilesInfo'; import { useEffect } from 'react'; import { useViolationStatistic } from '@/app/hooks/react-query/useViolationStatistic'; import { IconDocument, IconSearch, IconWarning, IconGraph, IconDiscet, IconShield } from '@/app/ui/icons/icons'; export default function DashboardUserStats() { const t = useTranslations("Global"); const { data: filesInfo, isLoading, isError, error } = useUserFilesInfo(); const { data: violationStatistic, isLoading: violationStatisticLoading } = useViolationStatistic(); return ( <>
{isLoading ? (
) : ( filesInfo?.total.protected ? filesInfo?.total.protected : 0 )}
{t('files-under-protection')}
{isLoading ? (
) : ( filesInfo?.total.check ? filesInfo?.total.check : 0 )}
{t('matches-found')}
{violationStatisticLoading ? (
) : ( violationStatistic?.total_violations ?? 0 )}
{t('matches')}
{isLoading ? (
) : ( filesInfo?.total.size ? convertBytes(filesInfo?.total.size) : 0 )}
{t('disk-space-used')}
{violationStatisticLoading ? (
) : ( violationStatistic?.in_progress_violations ?? 0 )}
{t('violations-in-progress')}
) }