From 99c8aada2fb64bcb913d171b86914bfde85392cf Mon Sep 17 00:00:00 2001 From: tdgao Date: Fri, 3 Jul 2026 11:00:56 -0700 Subject: [PATCH] fix: fabric dependency showing when quilt is selected --- .../DownloadDependencies.vue | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/frontend/src/components/ui/ProjectDownloadModal/DownloadDependencies.vue b/apps/frontend/src/components/ui/ProjectDownloadModal/DownloadDependencies.vue index c140977bf5..c3ed3a433f 100644 --- a/apps/frontend/src/components/ui/ProjectDownloadModal/DownloadDependencies.vue +++ b/apps/frontend/src/components/ui/ProjectDownloadModal/DownloadDependencies.vue @@ -85,7 +85,7 @@ const shouldResolveDependencies = computed( const dependencyResolutionPreferences = computed(() => ({ game_versions: props.selectedVersion?.game_versions || [], - loaders: props.selectedVersion?.loaders || [], + loaders: props.currentPlatform ? [props.currentPlatform] : props.selectedVersion?.loaders || [], })) const { data: dependencyResolution } = useQuery({ @@ -108,13 +108,17 @@ const { data: dependencyResolution } = useQuery({ enabled: shouldResolveDependencies, }) +const visibleResolvedDependencies = computed(() => { + return [ + ...(dependencyResolution.value?.dependencies || []), + ...(dependencyResolution.value?.skipped || []), + ].filter(shouldShowDependency) +}) + const dependencyVersionIds = computed(() => { return [ ...new Set( - [ - ...(dependencyResolution.value?.dependencies || []), - ...(dependencyResolution.value?.skipped || []), - ] + visibleResolvedDependencies.value .map((dependency) => dependency.version_id) .filter((versionId): versionId is string => !!versionId), ), @@ -143,10 +147,7 @@ const dependencyVersionById = computed(() => { const dependencyProjectIds = computed(() => { return [ ...new Set( - [ - ...(dependencyResolution.value?.dependencies || []), - ...(dependencyResolution.value?.skipped || []), - ] + visibleResolvedDependencies.value .map((dependency) => dependency.project_id) .filter((projectId): projectId is string => !!projectId), ), @@ -174,10 +175,7 @@ const dependencyProjectById = computed(() => { const dependenciesByParentVersionId = computed(() => { const map = new Map() - for (const dependency of [ - ...(dependencyResolution.value?.dependencies || []), - ...(dependencyResolution.value?.skipped || []), - ]) { + for (const dependency of visibleResolvedDependencies.value) { if (!dependency.dependent_on_version_id) continue 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] } +function shouldShowDependency(dependency: ResolvedContent) { + return !('reason' in dependency && dependency.reason === 'quilt_fabric_api') +} + function createDependencyRow(dependency: ResolvedContent): DownloadDependencyRow { const versionId = dependency.version_id ?? undefined const version = versionId ? dependencyVersionById.value.get(versionId) : undefined