From b166427f2878ad360d010c7e31c1694f060bb006 Mon Sep 17 00:00:00 2001 From: Kieran Date: Tue, 7 Nov 2023 12:33:27 +0000 Subject: [PATCH] fix: relays tab on profile --- packages/app/src/Feed/RelaysFeed.tsx | 20 ++++---------------- packages/app/src/Feed/RelaysFeedFollows.tsx | 20 +++++++++++--------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/packages/app/src/Feed/RelaysFeed.tsx b/packages/app/src/Feed/RelaysFeed.tsx index 4764862e..d5d92938 100644 --- a/packages/app/src/Feed/RelaysFeed.tsx +++ b/packages/app/src/Feed/RelaysFeed.tsx @@ -1,28 +1,16 @@ import { useMemo } from "react"; -import { HexKey, FullRelaySettings, EventKind, RequestBuilder, ReplaceableNoteStore } from "@snort/system"; +import { HexKey, EventKind, RequestBuilder, ReplaceableNoteStore } from "@snort/system"; import { useRequestBuilder } from "@snort/system-react"; +import { parseRelayTag } from "./RelaysFeedFollows"; export default function useRelaysFeed(pubkey?: HexKey) { const sub = useMemo(() => { if (!pubkey) return null; const b = new RequestBuilder(`relays:${pubkey.slice(0, 12)}`); - b.withFilter().authors([pubkey]).kinds([EventKind.ContactList]); + b.withFilter().authors([pubkey]).kinds([EventKind.Relays]); return b; }, [pubkey]); const relays = useRequestBuilder(ReplaceableNoteStore, sub); - - if (!relays.data?.content) { - return [] as FullRelaySettings[]; - } - - try { - return Object.entries(JSON.parse(relays.data.content)).map(([url, settings]) => ({ - url, - settings, - })) as FullRelaySettings[]; - } catch (error) { - console.error(error); - return [] as FullRelaySettings[]; - } + return relays.data?.tags.filter(a => a[0] === "r").map(parseRelayTag) ?? []; } diff --git a/packages/app/src/Feed/RelaysFeedFollows.tsx b/packages/app/src/Feed/RelaysFeedFollows.tsx index dfd97483..9029515b 100644 --- a/packages/app/src/Feed/RelaysFeedFollows.tsx +++ b/packages/app/src/Feed/RelaysFeedFollows.tsx @@ -27,15 +27,7 @@ export default function useRelaysFeedFollows(pubkeys: HexKey[]): Array { - return { - url: sanitizeRelayUrl(a[1]), - settings: { - read: a[2] === "read" || a[2] === undefined, - write: a[2] === "write" || a[2] === undefined, - }, - } as FullRelaySettings; - }) + .map(parseRelayTag) .filter(a => a.url !== undefined), }; }); @@ -47,3 +39,13 @@ export default function useRelaysFeedFollows(pubkeys: HexKey[]): Array) { + return { + url: sanitizeRelayUrl(tag[1]), + settings: { + read: tag[2] === "read" || tag[2] === undefined, + write: tag[2] === "write" || tag[2] === undefined, + }, + } as FullRelaySettings; +} \ No newline at end of file