refactor: breadcrumbs system (#6912)

* refactor: breadcrumbs system

* fix: qa

* fix: qa

* fix: qa

* fix: qa

* fix: loading flashes

* fix: qa

* fix: prepr

* fix: qa

* fix: change icon

* use modrinth logo in header for compactness

---------

Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
This commit is contained in:
Calum H.
2026-07-28 20:38:16 +00:00
committed by GitHub
co-authored by Prospector
parent f89c116bf8
commit b17523e7fd
23 changed files with 749 additions and 355 deletions
@@ -107,7 +107,11 @@ function getProjectCardTags(result: Labrinth.Search.v3.ResultSearchProject, disp
</template>
<SelectedProjectsFloatingBar v-if="ctx.installContext?.value && ctx.variant !== 'web'" />
<NavTabs v-if="ctx.showProjectTypeTabs.value" :links="ctx.selectableProjectTypes.value" />
<NavTabs
v-if="ctx.showProjectTypeTabs.value"
:links="ctx.selectableProjectTypes.value"
:replace="ctx.variant === 'app'"
/>
<StyledInput
v-model="ctx.query.value"
@@ -733,6 +733,21 @@ const projects = computed<ResolvedProject[]>(() =>
resolvedProjectType: resolveProjectType(project, tags?.loaders.value ?? []),
})),
)
watch(
() => projectsQuery.data.value,
(projects) => {
if (props.projectLinkMode !== 'app') return
for (const project of projects ?? []) {
for (const identifier of [project.id, project.slug]) {
if (identifier) {
queryClient.setQueryData(['projects', 'summary', identifier], project)
}
}
}
},
{ immediate: true },
)
const organizations = computed(() => organizationsQuery.data.value ?? [])
const collections = computed(() => collectionsQuery.data.value ?? [])
const isBlocked = computed(() =>