feat: improve mobile experience

This commit is contained in:
codytseng 2025-01-02 21:57:14 +08:00
parent 8ec0d46d58
commit 3946e603b3
98 changed files with 2508 additions and 1058 deletions

View file

@ -6,26 +6,32 @@ import { useEffect, useState } from 'react'
export function useFetchFollowings(pubkey?: string | null) {
const [followListEvent, setFollowListEvent] = useState<Event | null>(null)
const [followings, setFollowings] = useState<string[]>([])
const [isFetching, setIsFetching] = useState(true)
useEffect(() => {
const init = async () => {
if (!pubkey) return
try {
setIsFetching(true)
if (!pubkey) return
const event = await client.fetchFollowListEvent(pubkey)
if (!event) return
const event = await client.fetchFollowListEvent(pubkey)
if (!event) return
setFollowListEvent(event)
setFollowings(
event.tags
.filter(tagNameEquals('p'))
.map(([, pubkey]) => pubkey)
.filter(Boolean)
.reverse()
)
setFollowListEvent(event)
setFollowings(
event.tags
.filter(tagNameEquals('p'))
.map(([, pubkey]) => pubkey)
.filter(Boolean)
.reverse()
)
} finally {
setIsFetching(false)
}
}
init()
}, [pubkey])
return { followings, followListEvent }
return { followings, followListEvent, isFetching }
}