import { useState, useRef, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { CircleHelp, X } from "lucide-react"; export function PageHelp({ helpKey }: { helpKey: string }) { const { t } = useTranslation(); const [isOpen, setIsOpen] = useState(false); const ref = useRef(null); // Close on outside click (same pattern as CategoryCombobox) useEffect(() => { if (!isOpen) return; const handler = (e: MouseEvent) => { if (ref.current && !ref.current.contains(e.target as Node)) { setIsOpen(false); } }; document.addEventListener("mousedown", handler); return () => document.removeEventListener("mousedown", handler); }, [isOpen]); const tips = t(`${helpKey}.help.tips`, { returnObjects: true }) as string[]; return (
{isOpen && (

{t(`${helpKey}.help.title`)}

    {Array.isArray(tips) && tips.map((tip, i) => (
  • {tip}
  • ))}
)}
); }