fix showing installed for other projects (#7253)

This commit is contained in:
Prospector
2026-08-20 14:43:52 -07:00
committed by GitHub
parent 816830eea3
commit 2909aa49ca
+23 -12
View File
@@ -702,11 +702,16 @@ function reportProject() {
} }
async function fetchProjectData() { async function fetchProjectData() {
projectBreadcrumbLabel.value = getProjectBreadcrumbLabel(route.params.id) const requestedId = String(route.params.id ?? '')
projectBreadcrumbLabel.value = getProjectBreadcrumbLabel(requestedId)
const [project, projectV3Result] = await Promise.all([ const [project, projectV3Result] = await Promise.all([
get_project(route.params.id, 'must_revalidate').catch(handleError), get_project(requestedId, 'must_revalidate').catch(handleError),
get_project_v3(route.params.id, 'must_revalidate').catch(handleError), get_project_v3(requestedId, 'must_revalidate').catch(handleError),
]) ])
if (String(route.params.id ?? '') !== requestedId) {
return
}
projectV3.value = projectV3Result projectV3.value = projectV3Result
if (!project) { if (!project) {
@@ -724,6 +729,9 @@ async function fetchProjectData() {
route.query.i ? getInstance(route.query.i).catch(handleError) : Promise.resolve(), route.query.i ? getInstance(route.query.i).catch(handleError) : Promise.resolve(),
route.query.i ? getInstanceProjects(route.query.i).catch(handleError) : Promise.resolve(), route.query.i ? getInstanceProjects(route.query.i).catch(handleError) : Promise.resolve(),
]) ])
if (String(route.params.id ?? '') !== requestedId) {
return
}
for (const member of members.value ?? []) { for (const member of members.value ?? []) {
for (const identifier of [member.user.id, member.user.username]) { for (const identifier of [member.user.id, member.user.username]) {
@@ -735,18 +743,21 @@ async function fetchProjectData() {
versions.value = versions.value.sort((a, b) => dayjs(b.date_published) - dayjs(a.date_published)) versions.value = versions.value.sort((a, b) => dayjs(b.date_published) - dayjs(a.date_published))
if (instanceProjects.value) { const installedFile = instanceProjects.value
const installedFile = Object.values(instanceProjects.value).find( ? Object.values(instanceProjects.value).find(
(x) => x.metadata && x.metadata.project_id === data.value.id, (x) => x.metadata && x.metadata.project_id === data.value.id,
) )
if (installedFile) { : undefined
installed.value = true installed.value = !!installedFile
installedVersion.value = installedFile.metadata.version_id installedVersion.value = installedFile?.metadata.version_id ?? null
}
}
if (project.organization) { if (project.organization) {
organization.value = await get_organization(project.organization).catch(handleError) organization.value = await get_organization(project.organization).catch(handleError)
} else {
organization.value = null
}
if (String(route.params.id ?? '') !== requestedId) {
return
} }
isServerProject.value = projectV3.value?.minecraft_server != null isServerProject.value = projectV3.value?.minecraft_server != null