More cache key debugging

This commit is contained in:
Jackson Harper
2024-08-15 13:20:29 +08:00
parent 5f94a2a38b
commit 913ad0c5d4
3 changed files with 36 additions and 18 deletions

View File

@ -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)) {

View File

@ -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 },
// },
}) })
} }

View File

@ -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'