import { useEffect, useState } from 'react'; import PageHeader from '../../components/PageHeader'; import SlaHeatmap from '../../components/charts/SlaHeatmap'; import { getSla } from '../../services/analytics.service'; import type { SlaMetric } from '../../types/analytics.types'; import styles from './SlaKpi.module.scss'; export default function SlaKpi({ refreshKey }: { refreshKey: number }) { const [metrics, setMetrics] = useState(null); const [error, setError] = useState(false); useEffect(() => { let alive = true; setError(false); getSla() .then(r => { if (alive) setMetrics(r.metrics); }) .catch(() => { if (alive) setError(true); }); return () => { alive = false; }; }, [refreshKey]); if (error) return
Failed to load SLA metrics.
; if (!metrics) return
Loading SLA metrics…
; return (
{metrics.map(m => )}
); }