fix large projects list query with fetch segmented (#5004)

This commit is contained in:
Truman Gao
2025-12-31 03:03:40 -08:00
committed by GitHub
parent 560f21c0fe
commit d332032e53

View File

@@ -404,6 +404,7 @@ import dayjs from 'dayjs'
import AdPlaceholder from '~/components/ui/AdPlaceholder.vue' import AdPlaceholder from '~/components/ui/AdPlaceholder.vue'
import NavTabs from '~/components/ui/NavTabs.vue' import NavTabs from '~/components/ui/NavTabs.vue'
import ProjectCard from '~/components/ui/ProjectCard.vue' import ProjectCard from '~/components/ui/ProjectCard.vue'
import { asEncodedJsonArray, fetchSegmented } from '~/utils/fetch-helpers.ts'
const { handleError } = injectNotificationManager() const { handleError } = injectNotificationManager()
const api = injectModrinthClient() const api = injectModrinthClient()
@@ -563,11 +564,12 @@ try {
await useAsyncData(`user/${collection.value.user}`, () => await useAsyncData(`user/${collection.value.user}`, () =>
useBaseFetch(`user/${collection.value.user}`), useBaseFetch(`user/${collection.value.user}`),
), ),
await useAsyncData( useAsyncData(
`projects?ids=${encodeURIComponent(JSON.stringify(collection.value.projects))}]`, `projects?ids=${encodeURIComponent(JSON.stringify(collection.value.projects))}`,
() => () =>
useBaseFetch( fetchSegmented(
`projects?ids=${encodeURIComponent(JSON.stringify(collection.value.projects))}`, collection.value.projects,
(ids) => `projects?ids=${asEncodedJsonArray(ids)}`,
), ),
{ {
transform: (projects) => { transform: (projects) => {