refactor
This commit is contained in:
parent
28ec943a52
commit
78725c1d14
45 changed files with 698 additions and 766 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import { BIG_RELAY_URLS, DEFAULT_FAVORITE_RELAYS } from '@/constants'
|
||||
import { createFavoriteRelaysDraftEvent, createRelaySetDraftEvent } from '@/lib/draft-event'
|
||||
import { getRelaySetFromRelaySetEvent, getReplaceableEventIdentifier } from '@/lib/event'
|
||||
import { getReplaceableEventIdentifier } from '@/lib/event'
|
||||
import { getRelaySetFromEvent } from '@/lib/event-metadata'
|
||||
import { randomString } from '@/lib/random'
|
||||
import { isWebsocketUrl, normalizeUrl } from '@/lib/url'
|
||||
import client from '@/services/client.service'
|
||||
|
|
@ -121,7 +122,7 @@ export function FavoriteRelaysProvider({ children }: { children: React.ReactNode
|
|||
|
||||
useEffect(() => {
|
||||
setRelaySets(
|
||||
relaySetEvents.map((evt) => getRelaySetFromRelaySetEvent(evt)).filter(Boolean) as TRelaySet[]
|
||||
relaySetEvents.map((evt) => getRelaySetFromEvent(evt)).filter(Boolean) as TRelaySet[]
|
||||
)
|
||||
}, [relaySetEvents])
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { DEFAULT_FAVORITE_RELAYS } from '@/constants'
|
||||
import { getRelaySetFromRelaySetEvent } from '@/lib/event'
|
||||
import { getRelaySetFromEvent } from '@/lib/event-metadata'
|
||||
import { checkAlgoRelay } from '@/lib/relay'
|
||||
import { isWebsocketUrl, normalizeUrl } from '@/lib/url'
|
||||
import client from '@/services/client.service'
|
||||
|
|
@ -150,7 +150,7 @@ export function FeedProvider({ children }: { children: React.ReactNode }) {
|
|||
relaySetId
|
||||
)
|
||||
if (storedRelaySetEvent) {
|
||||
relaySet = getRelaySetFromRelaySetEvent(storedRelaySetEvent)
|
||||
relaySet = getRelaySetFromEvent(storedRelaySetEvent)
|
||||
}
|
||||
}
|
||||
if (relaySet) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { createFollowListDraftEvent } from '@/lib/draft-event'
|
||||
import { extractPubkeysFromEventTags } from '@/lib/tag'
|
||||
import { getPubkeysFromPTags } from '@/lib/tag'
|
||||
import client from '@/services/client.service'
|
||||
import { createContext, useContext, useMemo } from 'react'
|
||||
import { useNostr } from './NostrProvider'
|
||||
|
|
@ -23,7 +23,7 @@ export const useFollowList = () => {
|
|||
export function FollowListProvider({ children }: { children: React.ReactNode }) {
|
||||
const { pubkey: accountPubkey, followListEvent, publish, updateFollowListEvent } = useNostr()
|
||||
const followings = useMemo(
|
||||
() => (followListEvent ? extractPubkeysFromEventTags(followListEvent.tags) : []),
|
||||
() => (followListEvent ? getPubkeysFromPTags(followListEvent.tags) : []),
|
||||
[followListEvent]
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { createMuteListDraftEvent } from '@/lib/draft-event'
|
||||
import { extractPubkeysFromEventTags } from '@/lib/tag'
|
||||
import { getPubkeysFromPTags } from '@/lib/tag'
|
||||
import client from '@/services/client.service'
|
||||
import indexedDb from '@/services/indexed-db.service'
|
||||
import dayjs from 'dayjs'
|
||||
|
|
@ -44,9 +44,9 @@ export function MuteListProvider({ children }: { children: React.ReactNode }) {
|
|||
} = useNostr()
|
||||
const [tags, setTags] = useState<string[][]>([])
|
||||
const [privateTags, setPrivateTags] = useState<string[][]>([])
|
||||
const publicMutePubkeySet = useMemo(() => new Set(extractPubkeysFromEventTags(tags)), [tags])
|
||||
const publicMutePubkeySet = useMemo(() => new Set(getPubkeysFromPTags(tags)), [tags])
|
||||
const privateMutePubkeySet = useMemo(
|
||||
() => new Set(extractPubkeysFromEventTags(privateTags)),
|
||||
() => new Set(getPubkeysFromPTags(privateTags)),
|
||||
[privateTags]
|
||||
)
|
||||
const mutePubkeys = useMemo(() => {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,8 @@
|
|||
import LoginDialog from '@/components/LoginDialog'
|
||||
import { ApplicationDataKey, BIG_RELAY_URLS, ExtendedKind } from '@/constants'
|
||||
import { createSeenNotificationsAtDraftEvent } from '@/lib/draft-event'
|
||||
import {
|
||||
getLatestEvent,
|
||||
getProfileFromProfileEvent,
|
||||
getRelayListFromRelayListEvent,
|
||||
getReplaceableEventIdentifier
|
||||
} from '@/lib/event'
|
||||
import { getLatestEvent, getReplaceableEventIdentifier } from '@/lib/event'
|
||||
import { getProfileFromEvent, getRelayListFromEvent } from '@/lib/event-metadata'
|
||||
import { formatPubkey, isValidPubkey, pubkeyToNpub } from '@/lib/pubkey'
|
||||
import client from '@/services/client.service'
|
||||
import indexedDb from '@/services/indexed-db.service'
|
||||
|
|
@ -172,11 +168,11 @@ export function NostrProvider({ children }: { children: React.ReactNode }) {
|
|||
indexedDb.getReplaceableEvent(account.pubkey, ExtendedKind.FAVORITE_RELAYS)
|
||||
])
|
||||
if (storedRelayListEvent) {
|
||||
setRelayList(getRelayListFromRelayListEvent(storedRelayListEvent))
|
||||
setRelayList(getRelayListFromEvent(storedRelayListEvent))
|
||||
}
|
||||
if (storedProfileEvent) {
|
||||
setProfileEvent(storedProfileEvent)
|
||||
setProfile(getProfileFromProfileEvent(storedProfileEvent))
|
||||
setProfile(getProfileFromEvent(storedProfileEvent))
|
||||
}
|
||||
if (storedFollowListEvent) {
|
||||
setFollowListEvent(storedFollowListEvent)
|
||||
|
|
@ -196,7 +192,7 @@ export function NostrProvider({ children }: { children: React.ReactNode }) {
|
|||
authors: [account.pubkey]
|
||||
})
|
||||
const relayListEvent = getLatestEvent(relayListEvents) ?? storedRelayListEvent
|
||||
const relayList = getRelayListFromRelayListEvent(relayListEvent)
|
||||
const relayList = getRelayListFromEvent(relayListEvent)
|
||||
if (relayListEvent) {
|
||||
client.updateRelayListCache(relayListEvent)
|
||||
await indexedDb.putReplaceableEvent(relayListEvent)
|
||||
|
|
@ -237,7 +233,7 @@ export function NostrProvider({ children }: { children: React.ReactNode }) {
|
|||
)
|
||||
if (profileEvent) {
|
||||
setProfileEvent(profileEvent)
|
||||
setProfile(getProfileFromProfileEvent(profileEvent))
|
||||
setProfile(getProfileFromEvent(profileEvent))
|
||||
await indexedDb.putReplaceableEvent(profileEvent)
|
||||
} else if (!storedProfileEvent) {
|
||||
setProfile({
|
||||
|
|
@ -639,13 +635,13 @@ export function NostrProvider({ children }: { children: React.ReactNode }) {
|
|||
|
||||
const updateRelayListEvent = async (relayListEvent: Event) => {
|
||||
const newRelayList = await indexedDb.putReplaceableEvent(relayListEvent)
|
||||
setRelayList(getRelayListFromRelayListEvent(newRelayList))
|
||||
setRelayList(getRelayListFromEvent(newRelayList))
|
||||
}
|
||||
|
||||
const updateProfileEvent = async (profileEvent: Event) => {
|
||||
const newProfileEvent = await indexedDb.putReplaceableEvent(profileEvent)
|
||||
setProfileEvent(newProfileEvent)
|
||||
setProfile(getProfileFromProfileEvent(newProfileEvent))
|
||||
setProfile(getProfileFromEvent(newProfileEvent))
|
||||
}
|
||||
|
||||
const updateFollowListEvent = async (followListEvent: Event) => {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,4 @@
|
|||
import {
|
||||
getParentAddressableEventTag,
|
||||
getParentEventTag,
|
||||
getRootAddressableEventTag,
|
||||
getRootEventTag
|
||||
} from '@/lib/event'
|
||||
import { getParentATag, getParentETag, getRootATag, getRootETag } from '@/lib/event'
|
||||
import { Event } from 'nostr-tools'
|
||||
import { createContext, useCallback, useContext, useState } from 'react'
|
||||
|
||||
|
|
@ -35,11 +30,11 @@ export function ReplyProvider({ children }: { children: React.ReactNode }) {
|
|||
newReplyIdSet.add(reply.id)
|
||||
|
||||
let rootId: string | undefined
|
||||
const rootETag = getRootEventTag(reply)
|
||||
const rootETag = getRootETag(reply)
|
||||
if (rootETag) {
|
||||
rootId = rootETag[1]
|
||||
} else {
|
||||
const rootATag = getRootAddressableEventTag(reply)
|
||||
const rootATag = getRootATag(reply)
|
||||
if (rootATag) {
|
||||
rootId = rootATag[1]
|
||||
}
|
||||
|
|
@ -49,11 +44,11 @@ export function ReplyProvider({ children }: { children: React.ReactNode }) {
|
|||
}
|
||||
|
||||
let parentId: string | undefined
|
||||
const parentETag = getParentEventTag(reply)
|
||||
const parentETag = getParentETag(reply)
|
||||
if (parentETag) {
|
||||
parentId = parentETag[1]
|
||||
} else {
|
||||
const parentATag = getParentAddressableEventTag(reply)
|
||||
const parentATag = getParentATag(reply)
|
||||
if (parentATag) {
|
||||
parentId = parentATag[1]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue