import ProfilePreview from "Element/ProfilePreview"; import useRelayState from "Feed/RelayState"; import { System } from "Nostr/System"; import { useDispatch } from "react-redux"; import { useNavigate, useParams } from "react-router-dom"; import { removeRelay } from "State/Login"; import { parseId } from "Util"; const RelayInfo = () => { const params = useParams(); const navigate = useNavigate(); const dispatch = useDispatch(); const conn = Array.from(System.Sockets.values()).find(a => a.Id === params.id); console.debug(conn); const stats = useRelayState(conn?.Address ?? ""); return ( <>

navigate("/settings/relays")}>Relays

{stats?.info?.name}

{stats?.info?.description}

{stats?.info?.pubkey && (<>

Owner

)} {stats?.info?.software && (

Software

{stats.info.software.startsWith("http") ? {stats.info.software} : <>{stats.info.software}} {!stats.info.version?.startsWith("v") && "v"}{stats.info.version}
)} {stats?.info?.contact && (

Contact

{stats.info.contact}
)} {stats?.info?.supported_nips && (<>

Supports

{stats.info.supported_nips.map(a => navigate(`https://github.com/nostr-protocol/nips/blob/master/${a.toString().padStart(2, "0")}.md`)}>NIP-{a.toString().padStart(2, "0")})}
)}
{ dispatch(removeRelay(conn!.Address)); navigate("/settings/relays") }}>Remove
) } export default RelayInfo;