mirror of
https://github.com/modrinth/code.git
synced 2026-08-30 19:46:33 +00:00
fix: when there are multiple compatible of same game version + loader, give latest
This commit is contained in:
@@ -194,28 +194,58 @@ const showAllVersionsModel = computed({
|
||||
},
|
||||
})
|
||||
|
||||
const currentGameVersion = computed<string | null>(() => {
|
||||
const selectedPlatform = computed<string | null>(() => {
|
||||
if (userSelectedPlatform.value) return userSelectedPlatform.value
|
||||
return props.project.loaders.length === 1 ? props.project.loaders[0] : null
|
||||
})
|
||||
|
||||
const selectedGameVersion = computed<string | null>(() => {
|
||||
if (userSelectedGameVersion.value) return userSelectedGameVersion.value
|
||||
return props.project.game_versions.length === 1 ? props.project.game_versions[0] : null
|
||||
})
|
||||
|
||||
const compatiblePlatforms = computed<string[]>(() => {
|
||||
return props.project.loaders.filter(
|
||||
(platform) =>
|
||||
props.versions.some(
|
||||
(version) =>
|
||||
version.loaders.includes(platform) &&
|
||||
(!selectedGameVersion.value ||
|
||||
version.game_versions.includes(selectedGameVersion.value)),
|
||||
) && !incompatibleLoadersSet.value.has(platform),
|
||||
)
|
||||
})
|
||||
|
||||
const currentPlatform = computed<string | null>(() => {
|
||||
if (selectedPlatform.value) return selectedPlatform.value
|
||||
return compatiblePlatforms.value.length === 1 ? compatiblePlatforms.value[0] : null
|
||||
})
|
||||
|
||||
const possibleGameVersions = computed<string[]>(() => {
|
||||
return props.versions
|
||||
.filter((x) => !currentPlatform.value || x.loaders.includes(currentPlatform.value))
|
||||
.flatMap((x) => x.game_versions)
|
||||
})
|
||||
|
||||
const compatibleGameVersions = computed<string[]>(() => {
|
||||
return props.project.game_versions.filter(
|
||||
(gameVersion) =>
|
||||
possibleGameVersions.value.includes(gameVersion) &&
|
||||
!incompatibleGameVersionsSet.value.has(gameVersion),
|
||||
)
|
||||
})
|
||||
|
||||
const currentGameVersion = computed<string | null>(() => {
|
||||
if (selectedGameVersion.value) return selectedGameVersion.value
|
||||
return compatibleGameVersions.value.length === 1 ? compatibleGameVersions.value[0] : null
|
||||
})
|
||||
|
||||
const possiblePlatforms = computed<string[]>(() => {
|
||||
return props.versions
|
||||
.filter((x) => !currentGameVersion.value || x.game_versions.includes(currentGameVersion.value))
|
||||
.flatMap((x) => x.loaders)
|
||||
})
|
||||
|
||||
const currentPlatform = computed<string | null>(() => {
|
||||
if (userSelectedPlatform.value) return userSelectedPlatform.value
|
||||
return props.project.loaders.length === 1 ? props.project.loaders[0] : null
|
||||
})
|
||||
|
||||
const currentPlatformText = computed(() => {
|
||||
if (!currentPlatform.value) return ''
|
||||
return loaderLabel(currentPlatform.value)
|
||||
|
||||
Reference in New Issue
Block a user