import React, { useRef, useEffect, useState, useMemo } from 'react'; import { OverlayPanel } from 'primereact/overlaypanel'; import ZapForm from './ZapForm'; import { ProgressSpinner } from 'primereact/progressspinner'; const ZapDisplay = ({ zapAmount, event, zapsLoading }) => { const op = useRef(null); const [extraLoading, setExtraLoading] = useState(false); useMemo(() => { let timeout; if (!zapsLoading && zapAmount === 0) { setExtraLoading(true); timeout = setTimeout(() => setExtraLoading(false), 3000); } return () => clearTimeout(timeout); }, [zapsLoading, zapAmount]); return ( <> op.current.toggle(e)}> {zapsLoading || zapAmount === null || extraLoading ? ( ) : ( zapAmount )} ) } export default ZapDisplay;