import { toast } from "sonner"; import { useNodeDetails } from "src/hooks/useNodeDetails"; import { usePeers } from "src/hooks/usePeers"; import { Peer } from "src/types"; import { request } from "src/utils/request"; import { AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "./ui/alert-dialog"; type Props = { peer: Peer; }; export function DisconnectPeerDialogContent({ peer }: Props) { const { mutate: reloadPeers } = usePeers(); const { data: peerDetails } = useNodeDetails(peer.nodeId); async function disconnectPeer() { try { console.info(`Disconnecting from ${peer.nodeId}`); await request(`/api/peers/${peer.nodeId}`, { method: "DELETE", headers: { "Content-Type": "application/json", }, }); toast("Successfully disconnected from peer", { description: peer.nodeId, }); await reloadPeers(); } catch (e) { console.error(e); toast.error("Failed to disconnect peer", { description: "" + e, }); } } return ( Disconnect Peer

Are you sure you wish to disconnect from{" "} {peerDetails?.alias || "this peer"}?

Peer Pubkey

{peer.nodeId}

Cancel Confirm
); }