import AsyncButton from "@/Element/Button/AsyncButton"; import useEventPublisher from "@/Hooks/useEventPublisher"; import useLogin from "@/Hooks/useLogin"; import Icon from "@/Icons/Icon"; import { removeRelay } from "@/Login"; import { saveRelays } from "@/Pages/settings/Relays"; import { getRelayName } from "@/SnortUtils"; import { unwrap, sanitizeRelayUrl } from "@snort/shared"; import { OkResponse } from "@snort/system"; import { useState } from "react"; import { useIntl } from "react-intl"; export function OkResponseRow({ rsp }: { rsp: OkResponse }) { const [r, setResult] = useState(rsp); const { formatMessage } = useIntl(); const { publisher, system } = useEventPublisher(); const login = useLogin(); async function removeRelayFromResult(r: OkResponse) { if (publisher) { removeRelay(login, unwrap(sanitizeRelayUrl(r.relay))); await saveRelays(system, publisher, login.relays.item); } } async function retryPublish(r: OkResponse) { const rsp = await system.WriteOnceToRelay(unwrap(sanitizeRelayUrl(r.relay)), r.event); setResult(rsp); } return