import { useEffect, useState } from "react"; import { FormattedMessage } from "react-intl"; import { Link, useNavigate } from "react-router-dom"; import { ErrorOrOffline } from "@/Components/ErrorOrOffline"; import useEventPublisher from "@/Hooks/useEventPublisher"; import { ApiHost } from "@/Utils/Const"; import SnortServiceProvider, { ManageHandle } from "@/Utils/Nip05/SnortServiceProvider"; export default function ListHandles() { const navigate = useNavigate(); const { publisher } = useEventPublisher(); const [handles, setHandles] = useState>([]); const [error, setError] = useState(); useEffect(() => { loadHandles().catch(e => { if (e instanceof Error) { setError(e); } }); }, [publisher]); async function loadHandles() { if (!publisher) return; const sp = new SnortServiceProvider(publisher, `${ApiHost}/api/v1/n5sp`); const list = await sp.list(); setHandles(list as Array); } return ( <> {handles.length === 0 && ( ), }} /> )} {handles.map(a => (

{a.handle}@ {a.domain}

))} {handles.length > 0 && ( )} {error && } ); }