More profile refactor updates (#1886)
* Update the profile avatar lightbox * Update profile editor * Add dynamic likes tab * Add dynamic feeds and lists tabs * Implement lists listing on profiles
This commit is contained in:
parent
8217761363
commit
a01463788d
14 changed files with 432 additions and 84 deletions
31
src/state/queries/profile-extra-info.ts
Normal file
31
src/state/queries/profile-extra-info.ts
Normal file
|
@ -0,0 +1,31 @@
|
|||
import {useQuery} from '@tanstack/react-query'
|
||||
import {useSession} from '../session'
|
||||
|
||||
export const RQKEY = (did: string) => ['profile-extra-info', did]
|
||||
|
||||
/**
|
||||
* Fetches some additional information for the profile screen which
|
||||
* is not available in the API's ProfileView
|
||||
*/
|
||||
export function useProfileExtraInfoQuery(did: string) {
|
||||
const {agent} = useSession()
|
||||
return useQuery({
|
||||
queryKey: RQKEY(did),
|
||||
async queryFn() {
|
||||
const [listsRes, feedsRes] = await Promise.all([
|
||||
agent.app.bsky.graph.getLists({
|
||||
actor: did,
|
||||
limit: 1,
|
||||
}),
|
||||
agent.app.bsky.feed.getActorFeeds({
|
||||
actor: did,
|
||||
limit: 1,
|
||||
}),
|
||||
])
|
||||
return {
|
||||
hasLists: listsRes.data.lists.length > 0,
|
||||
hasFeeds: feedsRes.data.feeds.length > 0,
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue