mirror of
https://github.com/t4t5/nostr-react.git
synced 2025-05-06 12:00:14 +02:00
Add "unsubscribe" event
This commit is contained in:
parent
b48707a19b
commit
adc72d685f
@ -110,10 +110,16 @@ export function useNostrEvents({ filter }: { filter: Filter }) {
|
|||||||
|
|
||||||
let onEventCallback: null | OnEventFunc = null
|
let onEventCallback: null | OnEventFunc = null
|
||||||
|
|
||||||
onConnect((relay: Relay) => {
|
let unsubscribe = () => {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const subscribe = (relay: Relay) => {
|
||||||
log(debug, "info", "⬆️ nostr: Sending event filter:", filter)
|
log(debug, "info", "⬆️ nostr: Sending event filter:", filter)
|
||||||
const sub = relay.sub([filter], {})
|
const sub = relay.sub([filter], {})
|
||||||
|
|
||||||
|
unsubscribe = sub.unsub
|
||||||
|
|
||||||
sub.on("event", (event: NostrEvent) => {
|
sub.on("event", (event: NostrEvent) => {
|
||||||
log(debug, "info", "⬇️ nostr: Received event:", event)
|
log(debug, "info", "⬇️ nostr: Received event:", event)
|
||||||
onEventCallback?.(event)
|
onEventCallback?.(event)
|
||||||
@ -121,6 +127,16 @@ export function useNostrEvents({ filter }: { filter: Filter }) {
|
|||||||
return [event, ..._events]
|
return [event, ..._events]
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
connectedRelays.forEach((relay) => {
|
||||||
|
subscribe(relay)
|
||||||
|
})
|
||||||
|
}, [connectedRelays.length])
|
||||||
|
|
||||||
|
onConnect((relay: Relay) => {
|
||||||
|
subscribe(relay)
|
||||||
})
|
})
|
||||||
|
|
||||||
const uniqEvents = events.length > 0 ? uniqBy(events, "id") : []
|
const uniqEvents = events.length > 0 ? uniqBy(events, "id") : []
|
||||||
@ -131,6 +147,7 @@ export function useNostrEvents({ filter }: { filter: Filter }) {
|
|||||||
events: sortedEvents,
|
events: sortedEvents,
|
||||||
onConnect,
|
onConnect,
|
||||||
connectedRelays,
|
connectedRelays,
|
||||||
|
unsubscribe,
|
||||||
onEvent: (_onEventCallback: OnEventFunc) => {
|
onEvent: (_onEventCallback: OnEventFunc) => {
|
||||||
if (_onEventCallback) {
|
if (_onEventCallback) {
|
||||||
onEventCallback = _onEventCallback
|
onEventCallback = _onEventCallback
|
||||||
|
Loading…
x
Reference in New Issue
Block a user