fix search flashing, reorder filters on mods

This commit is contained in:
Jai A 2024-12-26 22:59:15 -07:00
parent 81ec068747
commit 4d9741c424
No known key found for this signature in database
GPG Key ID: 9A9F9B7250E9883C
3 changed files with 31 additions and 16 deletions

View File

@ -53,11 +53,11 @@ jobs:
!target/release/bundle/*/*.app.tar.gz
!target/release/bundle/*/*.app.tar.gz.sig
!target/release/bundle/*/*.AppImage
!target/release/bundle/*/*.AppImage.tar.gz
!target/release/bundle/*/*.AppImage.tar.gz.sig
!target/release/bundle/*/*.deb
!target/release/bundle/*/*.rpm
!target/release/bundle/appimage/*.AppImage
!target/release/bundle/appimage/*.AppImage.tar.gz
!target/release/bundle/appimage/*.AppImage.tar.gz.sig
!target/release/bundle/deb/*.deb
!target/release/bundle/rpm/*.rpm
!target/release/bundle/msi/*.msi
!target/release/bundle/msi/*.msi.zip

View File

@ -42,7 +42,11 @@
Install content to server
</h1>
</template>
<NavTabs v-if="!server" :links="selectableProjectTypes" class="hidden md:flex" />
<NavTabs
v-if="!server && !flags.projectTypesPrimaryNav"
:links="selectableProjectTypes"
class="hidden md:flex"
/>
</section>
<aside
:class="{
@ -338,11 +342,17 @@ const tags = useTags();
const flags = useFeatureFlags();
const auth = await useAuth();
const projectType = computed(() =>
tags.value.projectTypes.find(
const projectType = ref();
function setProjectType() {
projectType.value = tags.value.projectTypes.find(
(x) => x.id === route.path.replaceAll(/^\/|s\/?$/g, ""), // Removes prefix `/` and suffixes `s` and `s/`
),
);
);
}
setProjectType();
router.afterEach(() => {
setProjectType();
});
const projectTypes = computed(() => [projectType.value.id]);
const server = ref();
@ -516,7 +526,7 @@ const {
const config = useRuntimeConfig();
const base = import.meta.server ? config.apiBaseUrl : config.public.apiBaseUrl;
return `${base}/search${requestParams.value}`;
return `${base}search${requestParams.value}`;
},
{
transform: (hits) => {

View File

@ -32,6 +32,7 @@ export type FilterType = {
}[]
searchable: boolean
allows_custom_options?: 'and' | 'or'
ordering?: number
} & (
| {
display: 'all' | 'scrollable' | 'none'
@ -215,6 +216,7 @@ export function useSearch(
query_value: gameVersion.version,
method: 'or',
})),
ordering: projectTypes.value.includes('mod') ? 2 : undefined,
},
{
id: 'mod_loader',
@ -243,6 +245,7 @@ export function useSearch(
value: `categories:${loader.name}`,
}
}),
ordering: projectTypes.value.includes('mod') ? 1 : undefined,
},
{
id: 'modpack_loader',
@ -375,11 +378,13 @@ export function useSearch(
},
]
return filterTypes.filter((filterType) =>
return filterTypes
.filter((filterType) =>
filterType.supported_project_types.some((projectType) =>
projectTypes.value.includes(projectType),
),
)
.sort((a, b) => (b.ordering ?? 0) - (a.ordering ?? 0))
})
const facets = computed(() => {