Fix missing categories and environments on orgs and following collection (#1667)

This commit is contained in:
Prospector
2024-04-09 11:20:41 -07:00
committed by GitHub
parent 4c2565826f
commit 5f85af76cd
2 changed files with 39 additions and 3 deletions

View File

@@ -510,8 +510,18 @@ try {
updated: auth.value.user.created, updated: auth.value.user.created,
}) })
;[{ data: projects, refresh: refreshProjects }] = await Promise.all([ ;[{ data: projects, refresh: refreshProjects }] = await Promise.all([
useAsyncData(`user/${auth.value.user.id}/follows`, () => useAsyncData(
useBaseFetch(`user/${auth.value.user.id}/follows`) `user/${auth.value.user.id}/follows`,
() => useBaseFetch(`user/${auth.value.user.id}/follows`),
{
transform: (projects) => {
for (const project of projects) {
project.categories = project.categories.concat(project.loaders)
}
return projects
},
}
), ),
]) ])
creator = ref(auth.value.user) creator = ref(auth.value.user)

View File

@@ -190,12 +190,14 @@
:follows="project.followers.toString()" :follows="project.followers.toString()"
:icon-url="project.icon_url" :icon-url="project.icon_url"
:categories="project.categories" :categories="project.categories"
:client-side="project.client_side"
:server-side="project.server_side"
:status=" :status="
auth.user && (auth.user.id === user.id || tags.staffRoles.includes(auth.user.role)) auth.user && (auth.user.id === user.id || tags.staffRoles.includes(auth.user.role))
? project.status ? project.status
: null : null
" "
:type="project.project_type" :type="project.project_types[0] ?? 'project'"
:color="project.color" :color="project.color"
/> />
</div> </div>
@@ -271,6 +273,30 @@ const [
transform: (projects) => { transform: (projects) => {
for (const project of projects) { for (const project of projects) {
project.categories = project.categories.concat(project.loaders) project.categories = project.categories.concat(project.loaders)
if (project.mrpack_loaders) {
project.categories = project.categories.concat(project.mrpack_loaders)
}
const singleplayer = project.singleplayer && project.singleplayer[0]
const clientAndServer = project.client_and_server && project.client_and_server[0]
const clientOnly = project.client_only && project.client_only[0]
const serverOnly = project.server_only && project.server_only[0]
// quick and dirty hack to show envs as legacy
if (singleplayer && clientAndServer && !clientOnly && !serverOnly) {
project.client_side = 'required'
project.server_side = 'required'
} else if (singleplayer && clientAndServer && clientOnly && !serverOnly) {
project.client_side = 'required'
project.server_side = 'unsupported'
} else if (singleplayer && clientAndServer && !clientOnly && serverOnly) {
project.client_side = 'unsupported'
project.server_side = 'required'
} else if (singleplayer && clientAndServer && clientOnly && serverOnly) {
project.client_side = 'optional'
project.server_side = 'optional'
}
} }
return projects return projects