fix: fabric dependency showing when quilt is selected

This commit is contained in:
tdgao
2026-07-03 11:00:56 -07:00
parent ce7de977c8
commit 99c8aada2f
@@ -85,7 +85,7 @@ const shouldResolveDependencies = computed(
const dependencyResolutionPreferences = computed<Labrinth.Content.v3.ResolutionPreferences>(() => ({ const dependencyResolutionPreferences = computed<Labrinth.Content.v3.ResolutionPreferences>(() => ({
game_versions: props.selectedVersion?.game_versions || [], game_versions: props.selectedVersion?.game_versions || [],
loaders: props.selectedVersion?.loaders || [], loaders: props.currentPlatform ? [props.currentPlatform] : props.selectedVersion?.loaders || [],
})) }))
const { data: dependencyResolution } = useQuery({ const { data: dependencyResolution } = useQuery({
@@ -108,13 +108,17 @@ const { data: dependencyResolution } = useQuery({
enabled: shouldResolveDependencies, enabled: shouldResolveDependencies,
}) })
const visibleResolvedDependencies = computed<ResolvedContent[]>(() => {
return [
...(dependencyResolution.value?.dependencies || []),
...(dependencyResolution.value?.skipped || []),
].filter(shouldShowDependency)
})
const dependencyVersionIds = computed<string[]>(() => { const dependencyVersionIds = computed<string[]>(() => {
return [ return [
...new Set( ...new Set(
[ visibleResolvedDependencies.value
...(dependencyResolution.value?.dependencies || []),
...(dependencyResolution.value?.skipped || []),
]
.map((dependency) => dependency.version_id) .map((dependency) => dependency.version_id)
.filter((versionId): versionId is string => !!versionId), .filter((versionId): versionId is string => !!versionId),
), ),
@@ -143,10 +147,7 @@ const dependencyVersionById = computed(() => {
const dependencyProjectIds = computed<string[]>(() => { const dependencyProjectIds = computed<string[]>(() => {
return [ return [
...new Set( ...new Set(
[ visibleResolvedDependencies.value
...(dependencyResolution.value?.dependencies || []),
...(dependencyResolution.value?.skipped || []),
]
.map((dependency) => dependency.project_id) .map((dependency) => dependency.project_id)
.filter((projectId): projectId is string => !!projectId), .filter((projectId): projectId is string => !!projectId),
), ),
@@ -174,10 +175,7 @@ const dependencyProjectById = computed(() => {
const dependenciesByParentVersionId = computed(() => { const dependenciesByParentVersionId = computed(() => {
const map = new Map<string, ResolvedContent[]>() const map = new Map<string, ResolvedContent[]>()
for (const dependency of [ for (const dependency of visibleResolvedDependencies.value) {
...(dependencyResolution.value?.dependencies || []),
...(dependencyResolution.value?.skipped || []),
]) {
if (!dependency.dependent_on_version_id) continue if (!dependency.dependent_on_version_id) continue
const dependencies = map.get(dependency.dependent_on_version_id) || [] const dependencies = map.get(dependency.dependent_on_version_id) || []
@@ -206,6 +204,10 @@ function primaryFileForVersion(version?: Labrinth.Versions.v3.Version) {
return version?.files?.find((file) => file.primary) || version?.files?.[0] return version?.files?.find((file) => file.primary) || version?.files?.[0]
} }
function shouldShowDependency(dependency: ResolvedContent) {
return !('reason' in dependency && dependency.reason === 'quilt_fabric_api')
}
function createDependencyRow(dependency: ResolvedContent): DownloadDependencyRow { function createDependencyRow(dependency: ResolvedContent): DownloadDependencyRow {
const versionId = dependency.version_id ?? undefined const versionId = dependency.version_id ?? undefined
const version = versionId ? dependencyVersionById.value.get(versionId) : undefined const version = versionId ? dependencyVersionById.value.get(versionId) : undefined