import { useMemo } from 'react'; import { CountBadge } from '../components/core/CountBadge'; import type { TabItem } from '../components/core/Tabs/Tabs'; import type { HeaderModel } from './useInheritedHeaders'; import { useInheritedHeaders } from './useInheritedHeaders'; export function useHeadersTab( tabValue: T, model: HeaderModel | null, label?: string, ) { const inheritedHeaders = useInheritedHeaders(model); return useMemo(() => { if (model == null) return []; const allHeaders = [ ...inheritedHeaders, ...(model.model === 'grpc_request' ? model.metadata : model.headers), ]; const numHeaders = allHeaders.filter((h) => h.name).length; const tab: TabItem = { value: tabValue, label: label ?? 'Headers', rightSlot: , }; return [tab]; }, [inheritedHeaders, label, model, tabValue]); }