Refactor lists to use new queries (#1875)
* Refactor lists queries to react-query * Delete old lists-list model * Implement list, list-members, and list-memberships react-queries * Update CreateOrEditList modal * First pass at my-follows and actor-autocomplete queries * Update ListAddUserModal to use new queries, change to ListAddRemoveUsersModal * Update UserAddRemoveLists modal * Remove old TODO * Fix indent, autocomplete query * Add a todo --------- Co-authored-by: Eric Bailey <git@esb.lol>
This commit is contained in:
parent
05b728fffc
commit
d9e0a927c1
25 changed files with 1303 additions and 1545 deletions
43
src/state/queries/my-follows.ts
Normal file
43
src/state/queries/my-follows.ts
Normal file
|
@ -0,0 +1,43 @@
|
|||
import {AppBskyActorDefs} from '@atproto/api'
|
||||
import {useQuery} from '@tanstack/react-query'
|
||||
import {useSession} from '../session'
|
||||
|
||||
// sanity limit is SANITY_PAGE_LIMIT*PAGE_SIZE total records
|
||||
const SANITY_PAGE_LIMIT = 1000
|
||||
const PAGE_SIZE = 100
|
||||
// ...which comes 10,000k follows
|
||||
|
||||
export const RQKEY = () => ['my-follows']
|
||||
|
||||
export function useMyFollowsQuery() {
|
||||
const {agent, currentAccount} = useSession()
|
||||
return useQuery<AppBskyActorDefs.ProfileViewBasic[]>({
|
||||
queryKey: RQKEY(),
|
||||
async queryFn() {
|
||||
if (!currentAccount) {
|
||||
return []
|
||||
}
|
||||
let cursor
|
||||
let arr: AppBskyActorDefs.ProfileViewBasic[] = []
|
||||
for (let i = 0; i < SANITY_PAGE_LIMIT; i++) {
|
||||
const res = await agent.getFollows({
|
||||
actor: currentAccount.did,
|
||||
cursor,
|
||||
limit: PAGE_SIZE,
|
||||
})
|
||||
// TODO
|
||||
// res.data.follows = res.data.follows.filter(
|
||||
// profile =>
|
||||
// !moderateProfile(profile, this.rootStore.preferences.moderationOpts)
|
||||
// .account.filter,
|
||||
// )
|
||||
arr = arr.concat(res.data.follows)
|
||||
if (!res.data.cursor) {
|
||||
break
|
||||
}
|
||||
cursor = res.data.cursor
|
||||
}
|
||||
return arr
|
||||
},
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue