More cache key debugging
This commit is contained in:
@ -54,7 +54,11 @@ import { theme } from '../../tokens/stitches.config'
|
|||||||
import { emptyTrashMutation } from '../../../lib/networking/mutations/emptyTrashMutation'
|
import { emptyTrashMutation } from '../../../lib/networking/mutations/emptyTrashMutation'
|
||||||
import { State } from '../../../lib/networking/fragments/articleFragment'
|
import { State } from '../../../lib/networking/fragments/articleFragment'
|
||||||
import { useHandleAddUrl } from '../../../lib/hooks/useHandleAddUrl'
|
import { useHandleAddUrl } from '../../../lib/hooks/useHandleAddUrl'
|
||||||
import { QueryClient, useQueryClient } from '@tanstack/react-query'
|
import {
|
||||||
|
InfiniteData,
|
||||||
|
QueryClient,
|
||||||
|
useQueryClient,
|
||||||
|
} from '@tanstack/react-query'
|
||||||
import { useGetViewer } from '../../../lib/networking/viewer/useGetViewer'
|
import { useGetViewer } from '../../../lib/networking/viewer/useGetViewer'
|
||||||
|
|
||||||
export type LayoutType = 'LIST_LAYOUT' | 'GRID_LAYOUT'
|
export type LayoutType = 'LIST_LAYOUT' | 'GRID_LAYOUT'
|
||||||
@ -86,7 +90,7 @@ export function LibraryContainer(props: LibraryContainerProps): JSX.Element {
|
|||||||
const [searchResults, setSearchResults] = useState<SearchItem[]>([])
|
const [searchResults, setSearchResults] = useState<SearchItem[]>([])
|
||||||
|
|
||||||
const defaultQuery = {
|
const defaultQuery = {
|
||||||
limit: 5,
|
limit: 10,
|
||||||
folder: props.folder,
|
folder: props.folder,
|
||||||
sortDescending: true,
|
sortDescending: true,
|
||||||
searchQuery: undefined,
|
searchQuery: undefined,
|
||||||
@ -210,6 +214,20 @@ export function LibraryContainer(props: LibraryContainerProps): JSX.Element {
|
|||||||
activateCard(firstItem.node.id)
|
activateCard(firstItem.node.id)
|
||||||
}, [libraryItems])
|
}, [libraryItems])
|
||||||
|
|
||||||
|
// const queryClient = useQueryClient()
|
||||||
|
// useEffect(() => {
|
||||||
|
// return () => {
|
||||||
|
// console.log('clearing old items')
|
||||||
|
// queryClient.setQueryData(
|
||||||
|
// ['libraryItems'],
|
||||||
|
// (data: InfiniteData<LibraryItems, unknown>) => ({
|
||||||
|
// pages: data.pages.slice(0, 1),
|
||||||
|
// pageParams: data.pageParams.slice(0, 1),
|
||||||
|
// })
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// }, [])
|
||||||
|
|
||||||
const activateCard = useCallback(
|
const activateCard = useCallback(
|
||||||
(id: string) => {
|
(id: string) => {
|
||||||
if (!document.getElementById(id)) {
|
if (!document.getElementById(id)) {
|
||||||
|
|||||||
@ -202,7 +202,6 @@ export const insertItemInCache = (
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
data.pages[0] = firstPage
|
data.pages[0] = firstPage
|
||||||
console.log('data: ', data)
|
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -222,7 +221,8 @@ export function useGetLibraryItems(
|
|||||||
return useInfiniteQuery({
|
return useInfiniteQuery({
|
||||||
// If no folder is specified cache this as `home`
|
// If no folder is specified cache this as `home`
|
||||||
queryKey: ['libraryItems', folder ?? 'home', fullQuery],
|
queryKey: ['libraryItems', folder ?? 'home', fullQuery],
|
||||||
queryFn: async ({ pageParam }) => {
|
queryFn: async ({ queryKey, pageParam }) => {
|
||||||
|
console.log('querying: ', pageParam, fullQuery, queryKey)
|
||||||
const response = (await gqlFetcher(gqlSearchQuery(includeCount), {
|
const response = (await gqlFetcher(gqlSearchQuery(includeCount), {
|
||||||
after: pageParam,
|
after: pageParam,
|
||||||
first: limit,
|
first: limit,
|
||||||
@ -233,24 +233,18 @@ export function useGetLibraryItems(
|
|||||||
},
|
},
|
||||||
enabled,
|
enabled,
|
||||||
initialPageParam: '0',
|
initialPageParam: '0',
|
||||||
getNextPageParam: (lastPage: LibraryItems) => {
|
getNextPageParam: (lastPage: LibraryItems, pages) => {
|
||||||
console.log(
|
console.log('getting next page: ', pages)
|
||||||
'lastPage.pageInfo.hasNextPage: ',
|
|
||||||
lastPage.pageInfo.hasNextPage,
|
|
||||||
'lastPage?.pageInfo?.endCursor:',
|
|
||||||
lastPage?.pageInfo?.endCursor
|
|
||||||
)
|
|
||||||
return lastPage.pageInfo.hasNextPage
|
return lastPage.pageInfo.hasNextPage
|
||||||
? lastPage?.pageInfo?.endCursor
|
? lastPage?.pageInfo?.endCursor
|
||||||
: undefined
|
: undefined
|
||||||
},
|
},
|
||||||
// getPreviousPageParam: (firstPage, pages) => {
|
getPreviousPageParam: (firstPage, pages) => {
|
||||||
// return firstPage.pageInfo.hasPreviousPage
|
console.log('firstPage.pageInfo', firstPage?.pageInfo?.startCursor)
|
||||||
// ? firstPage?.pageInfo?.startCursor
|
return firstPage.pageInfo.hasPreviousPage
|
||||||
// : undefined
|
? firstPage?.pageInfo?.startCursor
|
||||||
// // console.log('getPreviousPageParam: firstPage, pages', firstPage, pages)
|
: undefined
|
||||||
// // return undefined
|
},
|
||||||
// },
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -45,6 +45,7 @@ export default function Home(): JSX.Element {
|
|||||||
// return <HomeContainer />
|
// return <HomeContainer />
|
||||||
return (
|
return (
|
||||||
<LibraryContainer
|
<LibraryContainer
|
||||||
|
key={name}
|
||||||
folder={undefined}
|
folder={undefined}
|
||||||
filterFunc={(item) => {
|
filterFunc={(item) => {
|
||||||
return (
|
return (
|
||||||
@ -59,6 +60,7 @@ export default function Home(): JSX.Element {
|
|||||||
case 'library':
|
case 'library':
|
||||||
return (
|
return (
|
||||||
<LibraryContainer
|
<LibraryContainer
|
||||||
|
key={name}
|
||||||
folder="inbox"
|
folder="inbox"
|
||||||
filterFunc={(item) => {
|
filterFunc={(item) => {
|
||||||
return (
|
return (
|
||||||
@ -73,6 +75,7 @@ export default function Home(): JSX.Element {
|
|||||||
case 'subscriptions':
|
case 'subscriptions':
|
||||||
return (
|
return (
|
||||||
<LibraryContainer
|
<LibraryContainer
|
||||||
|
key={name}
|
||||||
folder="following"
|
folder="following"
|
||||||
filterFunc={(item) => {
|
filterFunc={(item) => {
|
||||||
return (
|
return (
|
||||||
@ -87,6 +90,7 @@ export default function Home(): JSX.Element {
|
|||||||
case 'search':
|
case 'search':
|
||||||
return (
|
return (
|
||||||
<LibraryContainer
|
<LibraryContainer
|
||||||
|
key={name}
|
||||||
folder={undefined}
|
folder={undefined}
|
||||||
filterFunc={(item) => {
|
filterFunc={(item) => {
|
||||||
console.log('item: ', item)
|
console.log('item: ', item)
|
||||||
@ -98,6 +102,7 @@ export default function Home(): JSX.Element {
|
|||||||
case 'archive':
|
case 'archive':
|
||||||
return (
|
return (
|
||||||
<LibraryContainer
|
<LibraryContainer
|
||||||
|
key={name}
|
||||||
folder="archive"
|
folder="archive"
|
||||||
filterFunc={(item) => {
|
filterFunc={(item) => {
|
||||||
return item.state == 'ARCHIVED'
|
return item.state == 'ARCHIVED'
|
||||||
@ -108,6 +113,7 @@ export default function Home(): JSX.Element {
|
|||||||
case 'trash':
|
case 'trash':
|
||||||
return (
|
return (
|
||||||
<LibraryContainer
|
<LibraryContainer
|
||||||
|
key={name}
|
||||||
folder="trash"
|
folder="trash"
|
||||||
filterFunc={(item) => {
|
filterFunc={(item) => {
|
||||||
return item.state == 'DELETED'
|
return item.state == 'DELETED'
|
||||||
|
|||||||
Reference in New Issue
Block a user