/** * Custom hook for fetching metric definitions with SWR */ 'use client'; import useSWR from 'swr'; import { fetcher } from '@/lib/api'; import type { MetricsResponse } from '@/lib/types'; export function useMetrics() { const { data, error, isLoading } = useSWR( '/metrics', fetcher, { revalidateOnFocus: false, dedupingInterval: 60000, // 1 minute } ); return { metrics: data?.metrics || {}, metricsList: data?.metrics ? Object.values(data.metrics) : [], getMetric: (key: string) => data?.metrics?.[key], isLoading, error, }; }