import React, { useState, useRef, useEffect } from 'react'; import { createPortal } from 'react-dom'; import { Info } from 'lucide-react'; export const InfoTooltip = ({ text }) => { const [isVisible, setIsVisible] = useState(false); const [coords, setCoords] = useState({ top: 0, left: 0 }); const triggerRef = useRef(null); const updatePosition = () => { if (triggerRef.current) { const rect = triggerRef.current.getBoundingClientRect(); setCoords({ top: rect.top - 10, // Default to slightly above left: rect.left + rect.width / 2 }); } }; const handleMouseEnter = () => { updatePosition(); setIsVisible(true); }; const handleMouseLeave = () => { setIsVisible(false); }; useEffect(() => { if (isVisible) { window.addEventListener('scroll', updatePosition); window.addEventListener('resize', updatePosition); } return () => { window.removeEventListener('scroll', updatePosition); window.removeEventListener('resize', updatePosition); }; }, [isVisible]); return ( <>