import { Button } from '@/components/ui/button' import { Skeleton } from '@/components/ui/skeleton' import { useLongPressAction } from '@/hooks/use-long-press-action' import { useNip57QuickZap } from '@/hooks/useNip57QuickZap' import { useRecipientPaymentData } from '@/hooks/useRecipientAlternativePayments' import { useNostr } from '@/providers/NostrProvider' import { Zap } from 'lucide-react' import { useState } from 'react' import { useTranslation } from 'react-i18next' import ZapDialog from '../ZapDialog' export default function ProfileZapButton({ pubkey, openZapDialog, setOpenZapDialog }: { pubkey: string openZapDialog?: boolean setOpenZapDialog?: (open: boolean) => void }) { const { t } = useTranslation() const { checkLogin } = useNostr() const [internalOpen, setInternalOpen] = useState(false) const open = setOpenZapDialog ? (openZapDialog ?? false) : internalOpen const setOpen = setOpenZapDialog ?? setInternalOpen const recipientPayment = useRecipientPaymentData(pubkey, true) const { canQuickNip57Zap, sendQuickZap, zapping } = useNip57QuickZap({ recipientPubkey: pubkey, recipientPayment, onZapDialogClose: () => setOpen(false) }) const longPressZap = useLongPressAction(() => sendQuickZap(), { enabled: canQuickNip57Zap }) const title = canQuickNip57Zap ? t('Payment methods — long-press to zap') : t('Payment methods') return ( <> {!setOpenZapDialog && ( )} ) }