import { NDKEvent } from '@nostr-dev-kit/ndk'; import * as AlertDialog from '@radix-ui/react-alert-dialog'; import * as Tooltip from '@radix-ui/react-tooltip'; import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { toast } from 'sonner'; import { twMerge } from 'tailwind-merge'; import { useNDK } from '@libs/ndk/provider'; import { LoaderIcon, RepostIcon } from '@shared/icons'; export function NoteRepost({ event }: { event: NDKEvent }) { const [open, setOpen] = useState(false); const [isLoading, setIsLoading] = useState(false); const [isRepost, setIsRepost] = useState(false); const { ndk } = useNDK(); const navigate = useNavigate(); const submit = async () => { try { if (!ndk.signer) return navigate('/new/privkey'); setIsLoading(true); // repsot await event.repost(true); // reset state setOpen(false); setIsRepost(true); toast.success("You've reposted this post successfully"); } catch (e) { setIsLoading(false); toast.error('Repost failed, try again later'); } }; return ( Repost
Confirm repost this post? Reposted post will be visible to your followers, and you cannot undo this action.
); }