import { useTranslation } from 'react-i18next'; import { useQuery } from '@tanstack/react-query'; import { referralNetworkApi } from '@/api/referralNetwork'; import { useReferralNetworkStore } from '@/store/referralNetwork'; import { AdminBackButton } from '@/components/admin/AdminBackButton'; import { NetworkGraph } from './components/NetworkGraph'; import { NetworkSearch } from './components/NetworkSearch'; import { NetworkFilters } from './components/NetworkFilters'; import { UserDetailPanel } from './components/UserDetailPanel'; import { CampaignDetailPanel } from './components/CampaignDetailPanel'; import { NetworkStats } from './components/NetworkStats'; import { NetworkLegend } from './components/NetworkLegend'; import { NetworkControls } from './components/NetworkControls'; export function ReferralNetwork() { const { t } = useTranslation(); const selectedNode = useReferralNetworkStore((s) => s.selectedNode); const { data: networkData, isLoading, isError, } = useQuery({ queryKey: ['referral-network-graph'], queryFn: referralNetworkApi.getNetworkGraph, staleTime: 120_000, }); const isPanelOpen = selectedNode !== null; return (
{t('admin.referralNetwork.subtitle')}
{t('admin.referralNetwork.loading')}
{t('admin.referralNetwork.error')}
{t('admin.referralNetwork.empty')}