2025-01-12 16:55:18 -06:00
|
|
|
import React, { useState } from 'react';
|
|
|
|
import { Dialog } from 'primereact/dialog';
|
|
|
|
import { Tooltip } from 'primereact/tooltip';
|
|
|
|
import useWindowWidth from '@/hooks/useWindowWidth';
|
|
|
|
|
2025-04-02 17:47:30 -05:00
|
|
|
const MoreInfo = ({
|
|
|
|
tooltip,
|
|
|
|
modalTitle,
|
|
|
|
modalBody,
|
|
|
|
className = '',
|
|
|
|
tooltipPosition = 'right',
|
|
|
|
}) => {
|
|
|
|
const [visible, setVisible] = useState(false);
|
|
|
|
const windowWidth = useWindowWidth();
|
|
|
|
const isMobile = windowWidth < 768;
|
2025-01-12 16:55:18 -06:00
|
|
|
|
2025-04-02 17:47:30 -05:00
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<i
|
|
|
|
className={`pi pi-question-circle cursor-pointer ${className}`}
|
|
|
|
onClick={() => setVisible(true)}
|
|
|
|
data-pr-tooltip={tooltip}
|
|
|
|
data-pr-position={tooltipPosition}
|
|
|
|
/>
|
|
|
|
{!isMobile && <Tooltip target=".pi-question-circle" position={tooltipPosition} />}
|
|
|
|
|
|
|
|
<Dialog
|
|
|
|
header={modalTitle}
|
|
|
|
visible={visible}
|
|
|
|
onHide={() => setVisible(false)}
|
|
|
|
className="max-w-3xl"
|
|
|
|
breakpoints={{ '960px': '75vw', '641px': '90vw' }}
|
|
|
|
>
|
|
|
|
{typeof modalBody === 'string' ? <p className="text-gray-200">{modalBody}</p> : modalBody}
|
|
|
|
</Dialog>
|
|
|
|
</>
|
|
|
|
);
|
2025-01-12 16:55:18 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
export default MoreInfo;
|