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
!target/release/bundle/*/*.app.tar.gz.sig !target/release/bundle/*/*.app.tar.gz.sig
!target/release/bundle/*/*.AppImage !target/release/bundle/appimage/*.AppImage
!target/release/bundle/*/*.AppImage.tar.gz !target/release/bundle/appimage/*.AppImage.tar.gz
!target/release/bundle/*/*.AppImage.tar.gz.sig !target/release/bundle/appimage/*.AppImage.tar.gz.sig
!target/release/bundle/*/*.deb !target/release/bundle/deb/*.deb
!target/release/bundle/*/*.rpm !target/release/bundle/rpm/*.rpm
!target/release/bundle/msi/*.msi !target/release/bundle/msi/*.msi
!target/release/bundle/msi/*.msi.zip !target/release/bundle/msi/*.msi.zip

View File

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

View File

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