import { useMemo, useState } from 'react' import { AnalyticsCardShell } from '@/components/analytics/analytics-card-shell' import { AnalyticsSegmentControl } from '@/components/analytics/analytics-segment-control' import { ChartDonutMetric } from '@/components/analytics/chart-donut-metric' import { jobStatusBreakdown, moduleTypeBreakdown } from '@/lib/metrics' import type { JobRow, ModuleRow } from '@/types/api' type FlowMode = 'jobs' | 'modules' export function DashboardOperationsFlowCard({ jobs, modules, loading, }: { jobs: JobRow[] modules: ModuleRow[] loading?: boolean }) { const [mode, setMode] = useState('jobs') const slices = useMemo( () => (mode === 'jobs' ? jobStatusBreakdown(jobs) : moduleTypeBreakdown(modules)), [mode, jobs, modules], ) const total = slices.reduce((sum, slice) => sum + slice.count, 0) const centerLabel = mode === 'jobs' ? 'Задачи' : 'Модули' return ( } > {loading ? (
Загрузка…
) : ( )}
) }