import { ZapSplit } from 'components/Zap' import { useAppSelector, useBodyScrollDisable, useDidMount, useNDKContext } from 'hooks' import { useState } from 'react' import { toast } from 'react-toastify' import { ModDetails } from 'types' import { abbreviateNumber } from 'utils' type ZapProps = { modDetails: ModDetails } export const Zap = ({ modDetails }: ZapProps) => { const [isOpen, setIsOpen] = useState(false) const [totalZappedAmount, setTotalZappedAmount] = useState(0) const [hasZapped, setHasZapped] = useState(false) const userState = useAppSelector((state) => state.user) const { getTotalZapAmount } = useNDKContext() useBodyScrollDisable(isOpen) useDidMount(() => { getTotalZapAmount( modDetails.author, modDetails.id, modDetails.aTag, userState.user?.pubkey as string ) .then((res) => { setTotalZappedAmount(res.accumulatedZapAmount) setHasZapped(res.hasZapped) }) .catch((err) => { toast.error(err.message || err) }) }) return ( <>
setIsOpen(true)} >

{abbreviateNumber(totalZappedAmount)}

{isOpen && ( setIsOpen(false)} /> )} ) }