import React, { useRef, useEffect, useState } from 'react' import { InformationCircleIcon, DocumentTextIcon } from '@heroicons/react/24/outline' import { Tooltip as ReactTooltip } from 'react-tooltip' import 'react-tooltip/dist/react-tooltip.css' import Descriptions from '../Descriptions' interface MetricInfoIconProps { metricName: string } const MetricInfoIcon: React.FC = ({ metricName }) => { const [descriptionsLoaded, setDescriptionsLoaded] = useState(false) const descriptions = useRef(Descriptions.getInstance()) useEffect(() => { descriptions.current.load().then(() => setDescriptionsLoaded(true)) }, []) const fullName = descriptions.current.getFullName(metricName) || metricName const description = descriptions.current.getDescription(metricName) const paperUrl = descriptions.current.getUrl(metricName) if (!description) return null return ( <>
{fullName}
{description}
{paperUrl && (
Link
)}
) } export default MetricInfoIcon