Skip to content

Commit

Permalink
fix: react query initialPageParam (#12000)
Browse files Browse the repository at this point in the history
  • Loading branch information
swkatmask authored Dec 19, 2024
1 parent 18634cf commit ff0ff87
Show file tree
Hide file tree
Showing 12 changed files with 39 additions and 35 deletions.
22 changes: 11 additions & 11 deletions packages/mask/popups/pages/Friends/Home/index.tsx
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
import { memo, useState, useMemo } from 'react'
import { EMPTY_LIST, NextIDPlatform } from '@masknet/shared-base'
import { msg } from '@lingui/macro'
import { useLingui } from '@lingui/react'
import { resolveNextIDPlatform } from '@masknet/shared'
import { useInfiniteQuery } from '@tanstack/react-query'
import { EMPTY_LIST, NextIDPlatform } from '@masknet/shared-base'
import { NextIDProof } from '@masknet/web3-providers'
import { FriendsHomeUI } from './UI.js'
import { useInfiniteQuery } from '@tanstack/react-query'
import Fuse from 'fuse.js'
import { memo, useMemo, useState } from 'react'
import {
useFriendFromList,
useFriendsFromSearch,
useFriendsPaged,
useTitle,
useSearchValue,
useFriendsFromSearch,
useFriendFromList,
useTitle,
} from '../../../hooks/index.js'
import Fuse from 'fuse.js'
import { msg } from '@lingui/macro'
import { useLingui } from '@lingui/react'
import { FriendsHomeUI } from './UI.js'

export const Component = memo(function FriendsHome() {
const { _ } = useLingui()
Expand Down Expand Up @@ -45,7 +45,7 @@ export const Component = memo(function FriendsHome() {
fetchNextPage: fetchNextSearchPage,
} = useInfiniteQuery({
queryKey: ['search-personas', keyword, type],
initialPageParam: undefined as any,
initialPageParam: undefined as number | undefined,
queryFn: async ({ pageParam }) => {
if (!type) return EMPTY_LIST
return NextIDProof.queryExistedBindingByPlatform(type, keyword, pageParam ?? 1, false)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { EMPTY_LIST, hidingScamSettings } from '@masknet/shared-base'
import { EMPTY_LIST, hidingScamSettings, type PageIndicator } from '@masknet/shared-base'
import { useChainContext, useNetworks, useWeb3State } from '@masknet/web3-hooks-base'
import { DeBankHistory } from '@masknet/web3-providers'
import { type RecentTransaction } from '@masknet/web3-shared-base'
Expand All @@ -15,11 +15,11 @@ export function useTransactions() {
const { account } = useChainContext()
const response = useInfiniteQuery({
queryKey: ['debank', 'all-history', account],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: async ({ pageParam }) => {
return DeBankHistory.getAllTransactions(account, { indicator: pageParam })
},
getNextPageParam: (lastPage) => lastPage.nextIndicator,
getNextPageParam: (lastPage) => lastPage.nextIndicator as PageIndicator | undefined,
select: (data) =>
data.pages.flatMap((page) => page.data).filter((t) => !hidingScamSettings.value || !t.isScam) || EMPTY_LIST,
})
Expand Down
3 changes: 2 additions & 1 deletion packages/plugins/Calendar/src/hooks/useEventList.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import type { PageIndicator } from '@masknet/shared-base'
import { Calendar } from '@masknet/web3-providers'
import { useInfiniteQuery } from '@tanstack/react-query'
import { addDays, startOfDay } from 'date-fns'
Expand All @@ -10,7 +11,7 @@ export function useNewsList(date: Date) {
return useInfiniteQuery({
queryKey: ['newsList', startTime, endTime],
queryFn: async ({ pageParam }) => Calendar.getNewsList(startTime, endTime, pageParam),
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
getNextPageParam: (page) => page.nextIndicator,
select(data) {
return uniqBy(
Expand Down
3 changes: 2 additions & 1 deletion packages/plugins/Calendar/src/hooks/useLumaEvents.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import type { PageIndicator } from '@masknet/shared-base'
import { Calendar } from '@masknet/web3-providers'
import { useInfiniteQuery } from '@tanstack/react-query'
import { addDays, startOfDay } from 'date-fns'
Expand All @@ -8,7 +9,7 @@ export function useLumaEvents(date: Date) {

return useInfiniteQuery({
queryKey: ['lumaEvents', startTime, endTime],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: async ({ pageParam }) => Calendar.getEventList(startTime, endTime, pageParam),
getNextPageParam(page) {
return page.nextIndicator
Expand Down
5 changes: 3 additions & 2 deletions packages/plugins/CyberConnect/src/hooks/useFollowers.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import type { PageIndicator } from '@masknet/shared-base'
import { useInfiniteQuery } from '@tanstack/react-query'
import type { ProfileTab } from '../constants.js'
import { PluginCyberConnectRPC } from '../messages.js'

export function useFollowers(tab: ProfileTab, address?: string, size = 50) {
return useInfiniteQuery({
queryKey: ['cyber-connect', 'followers', tab, address, size],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: async ({ pageParam }) => {
if (!address) return
return PluginCyberConnectRPC.fetchFollowers(tab, address, size, pageParam)
},
getNextPageParam: (lastPage) => lastPage?.nextIndicator,
getNextPageParam: (lastPage) => lastPage?.nextIndicator as PageIndicator | undefined,
})
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { t } from '@lingui/macro'
import { timeout } from '@masknet/kit'
import type { PageIndicator } from '@masknet/shared-base'
import { Zerion } from '@masknet/web3-providers'
import { skipToken, useInfiniteQuery } from '@tanstack/react-query'

Expand All @@ -9,7 +10,7 @@ interface Options {

export function useFinanceFeeds({ address }: Options) {
return useInfiniteQuery({
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryKey: ['zerion', 'history-list', address],
queryFn:
address ?
Expand All @@ -21,7 +22,7 @@ export function useFinanceFeeds({ address }: Options) {
)
}
: skipToken,
getNextPageParam: (lp) => lp.nextIndicator,
getNextPageParam: (lp) => lp.nextIndicator as PageIndicator | undefined,
select(data) {
return data.pages.flatMap((page) => page.data)
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { t } from '@lingui/macro'
import { timeout } from '@masknet/kit'
import { EMPTY_LIST } from '@masknet/shared-base'
import { EMPTY_LIST, type PageIndicator } from '@masknet/shared-base'
import { useFireflyFarcasterAccounts, useFireflyLensAccounts } from '@masknet/web3-hooks-base'
import { FireflyConfig, FireflyFarcaster, Lens } from '@masknet/web3-providers'
import { skipToken, useInfiniteQuery, useQuery } from '@tanstack/react-query'
Expand Down Expand Up @@ -41,7 +41,7 @@ export function useSocialFeeds({ userId, address }: Options) {
queryFn: async ({ pageParam }) => {
return FireflyFarcaster.getPostsByProfileId(fids, pageParam)
},
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
getNextPageParam: (lastPage) => lastPage?.nextIndicator,
select(res) {
return res.pages.flatMap((page) => page.data)
Expand Down Expand Up @@ -69,7 +69,7 @@ export function useSocialFeeds({ userId, address }: Options) {
queryFn: async ({ pageParam }) => {
return timeout(Lens.getPostsByProfileId(lensIds, pageParam), 30_000, t`Request timed out`)
},
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
getNextPageParam: (lastPage) => lastPage?.nextIndicator,
select(res) {
return res.pages.flatMap((page) => page.data)
Expand Down
4 changes: 2 additions & 2 deletions packages/plugins/RSS3/src/SiteAdaptor/hooks/useFeeds.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { skipToken, useInfiniteQuery } from '@tanstack/react-query'
import { RSS3 } from '@masknet/web3-providers'
import { createIndicator, createPageable, EMPTY_LIST } from '@masknet/shared-base'
import { createIndicator, createPageable, EMPTY_LIST, type PageIndicator } from '@masknet/shared-base'
import type { RSS3BaseAPI } from '@masknet/web3-providers/types'

interface Options {
Expand All @@ -11,8 +11,8 @@ interface Options {

export function useFeeds(address: string | undefined, options?: Partial<Options>) {
return useInfiniteQuery({
initialPageParam: undefined as any,
queryKey: ['rss3-feeds', address, options],
initialPageParam: undefined as PageIndicator | undefined,
queryFn:
address ?
async ({ pageParam }) => {
Expand Down
2 changes: 1 addition & 1 deletion packages/shared/src/UI/components/NFTList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ export function NFTList({
const Hub = useWeb3Hub(pluginID, { chainId })
const { data, isFetching, fetchNextPage, hasNextPage, error } = useInfiniteQuery({
queryKey: ['non-fungible-assets', 'by-collection', collectionId, chainId],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: async ({ pageParam }) => {
if (!collectionId) return
return Hub.getNonFungibleAssetsByCollection(collectionId, {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type NetworkPluginID } from '@masknet/shared-base'
import { type NetworkPluginID, type PageIndicator } from '@masknet/shared-base'
import type { HubOptions } from '@masknet/web3-providers/types'
import { useInfiniteQuery } from '@tanstack/react-query'
import { useWeb3Hub } from './useWeb3Hub.js'
Expand All @@ -14,14 +14,14 @@ export function useNonFungibleAssetsByCollectionAndOwner<T extends NetworkPlugin
return useInfiniteQuery({
enabled: !!collectionId && !!owner,
queryKey: ['non-fungible-asset', pluginID, collectionId, owner, options],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: async ({ pageParam }) => {
return Hub.getNonFungibleAssetsByCollectionAndOwner(collectionId ?? '', owner ?? '', {
indicator: pageParam,
size: 50,
})
},
getNextPageParam: (page) => page.nextIndicator,
getNextPageParam: (page) => page.nextIndicator as PageIndicator | undefined,
select(data) {
const assets = data.pages.flatMap((x) => x.data)
if (options?.chainId) {
Expand Down
6 changes: 3 additions & 3 deletions packages/web3-hooks/base/src/useNonFungibleEvents.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { NetworkPluginID } from '@masknet/shared-base'
import type { NetworkPluginID, PageIndicator } from '@masknet/shared-base'
import type { HubOptions } from '@masknet/web3-providers/types'
import { useInfiniteQuery } from '@tanstack/react-query'
import { useChainContext } from './useContext.js'
Expand All @@ -17,12 +17,12 @@ export function useNonFungibleEvents<T extends NetworkPluginID = NetworkPluginID
} as HubOptions<T>)
return useInfiniteQuery({
queryKey: ['non-fungible', 'events', pluginID, address, id, options],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: ({ pageParam: nextIndicator }) => {
return Hub.getNonFungibleTokenEvents(address ?? '', id ?? '', {
indicator: nextIndicator,
})
},
getNextPageParam: (x) => x.nextIndicator,
getNextPageParam: (x) => x.nextIndicator as PageIndicator | undefined,
})
}
6 changes: 3 additions & 3 deletions packages/web3-hooks/base/src/useNonFungibleListings.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { NetworkPluginID } from '@masknet/shared-base'
import type { NetworkPluginID, PageIndicator } from '@masknet/shared-base'
import type { HubOptions } from '@masknet/web3-providers/types'
import { OrderSide } from '@masknet/web3-shared-base'
import { useInfiniteQuery } from '@tanstack/react-query'
Expand All @@ -19,12 +19,12 @@ export function useNonFungibleListings<T extends NetworkPluginID = NetworkPlugin

return useInfiniteQuery({
queryKey: ['non-fungible', 'orders', pluginID, address, id, options],
initialPageParam: undefined as any,
initialPageParam: undefined as PageIndicator | undefined,
queryFn: ({ pageParam: nextIndicator }) => {
return Hub.getNonFungibleTokenOrders(address ?? '', id ?? '', OrderSide.Sell, {
indicator: nextIndicator,
})
},
getNextPageParam: (x) => x.nextIndicator,
getNextPageParam: (x) => x.nextIndicator as PageIndicator | undefined,
})
}

0 comments on commit ff0ff87

Please sign in to comment.