refactor: optimize entries query with dynamic parameter handling
- Memoize `entriesOptions` to improve performance - Add conditional logic to remove `listId` for business feed IDs - Import `isBizId` utility function for ID type checking - Enhance query parameter generation with more flexible configuration Signed-off-by: Innei <tukon479@gmail.com>
This commit is contained in:
parent
62bde1d5d0
commit
fd14d2e7b1
|
|
@ -1,4 +1,5 @@
|
|||
import { views } from "@follow/constants"
|
||||
import { isBizId } from "@follow/utils/utils"
|
||||
import { useMutation } from "@tanstack/react-query"
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react"
|
||||
|
||||
|
|
@ -28,14 +29,22 @@ export const useEntriesByView = ({
|
|||
view,
|
||||
})
|
||||
|
||||
const entriesOptions = {
|
||||
feedId: folderIds?.join(",") || feedId,
|
||||
inboxId,
|
||||
listId,
|
||||
view,
|
||||
...(unreadOnly === true && { read: false }),
|
||||
isArchived,
|
||||
}
|
||||
const entriesOptions = useMemo(() => {
|
||||
const params = {
|
||||
feedId: folderIds?.join(",") || feedId,
|
||||
inboxId,
|
||||
listId,
|
||||
view,
|
||||
...(unreadOnly === true && { read: false }),
|
||||
isArchived,
|
||||
}
|
||||
|
||||
if (feedId && listId && isBizId(feedId)) {
|
||||
delete params.listId
|
||||
}
|
||||
|
||||
return params
|
||||
}, [feedId, folderIds, inboxId, isArchived, listId, unreadOnly, view])
|
||||
const query = useEntries(entriesOptions)
|
||||
|
||||
const [fetchedTime, setFetchedTime] = useState<number>()
|
||||
|
|
|
|||
Loading…
Reference in New Issue