fix: 🐛

This commit is contained in:
codytseng
2025-01-15 10:02:08 +08:00
parent 78629dd64f
commit a6ec01d1e8
2 changed files with 22 additions and 19 deletions

View File

@@ -94,26 +94,29 @@ function RemoteRelaySets({ close }: { close?: () => void }) {
limit: 50 limit: 50
} }
) )
setRelaySets( events.sort((a, b) => b.created_at - a.created_at)
events
.map((evt) => {
const id = evt.tags.find(tagNameEquals('d'))?.[1]
if (!id) return null
const relayUrls = evt.tags const relaySetIds = new Set<string>()
.filter(tagNameEquals('relay')) const relaySets: TRelaySet[] = []
.map((tag) => tag[1]) events.forEach((evt) => {
.filter((url) => url && isWebsocketUrl(url)) const id = evt.tags.find(tagNameEquals('d'))?.[1]
if (!relayUrls.length) return null if (!id || relaySetIds.has(id)) return
let title = evt.tags.find(tagNameEquals('title'))?.[1] relaySetIds.add(id)
if (!title) { const relayUrls = evt.tags
title = relayUrls.length === 1 ? simplifyUrl(relayUrls[0]) : id .filter(tagNameEquals('relay'))
} .map((tag) => tag[1])
return { id, name: title, relayUrls } .filter((url) => url && isWebsocketUrl(url))
}) if (!relayUrls.length) return
.filter(Boolean) as TRelaySet[]
) let title = evt.tags.find(tagNameEquals('title'))?.[1]
if (!title) {
title = relayUrls.length === 1 ? simplifyUrl(relayUrls[0]) : id
}
relaySets.push({ id, name: title, relayUrls })
})
setRelaySets(relaySets)
setInitialed(true) setInitialed(true)
} }
init() init()

View File

@@ -67,7 +67,7 @@ export function RelaySetsProvider({ children }: { children: React.ReactNode }) {
return ( return (
<RelaySetsContext.Provider <RelaySetsContext.Provider
value={{ value={{
relaySets: relaySets, relaySets,
addRelaySet, addRelaySet,
deleteRelaySet, deleteRelaySet,
updateRelaySet, updateRelaySet,