1
0

Merge commit '24765db0451d15bd3ddb609ca51743b6f40e953d' into feature-clean

This commit is contained in:
2024-12-27 20:34:47 +03:00
4 changed files with 55 additions and 21 deletions

View File

@@ -54,11 +54,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,21 @@ const tags = useTags();
const flags = useFeatureFlags();
const auth = await useAuth();
const projectType = computed(() =>
tags.value.projectTypes.find(
const projectType = ref();
function setProjectType() {
const projType = tags.value.projectTypes.find(
(x) => x.id === route.path.replaceAll(/^\/|s\/?$/g, ""), // Removes prefix `/` and suffixes `s` and `s/`
),
);
);
if (projType) {
projectType.value = projType;
}
}
setProjectType();
router.afterEach(() => {
setProjectType();
});
const projectTypes = computed(() => [projectType.value.id]);
const server = ref();
@@ -516,7 +530,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

@@ -295,7 +295,12 @@ impl RedisPool {
fetch_ids.iter().for_each(|key| {
pipe.atomic().set_options(
format!("{}_{namespace}:{}/lock", self.meta_namespace, key),
// We store locks in lowercase because they are case insensitive
format!(
"{}_{namespace}:{}/lock",
self.meta_namespace,
key.to_lowercase()
),
100,
SetOptions::default()
.get(true)
@@ -395,7 +400,9 @@ impl RedisPool {
pipe.atomic().del(format!(
"{}_{namespace}:{}/lock",
self.meta_namespace, actual_slug
// Locks are stored in lowercase
self.meta_namespace,
actual_slug.to_lowercase()
));
}
}
@@ -408,8 +415,10 @@ impl RedisPool {
ids.remove(&base62);
pipe.atomic().del(format!(
"{}_{namespace}:{base62}/lock",
self.meta_namespace
"{}_{namespace}:{}/lock",
self.meta_namespace,
// Locks are stored in lowercase
base62.to_lowercase()
));
}
@@ -423,6 +432,11 @@ impl RedisPool {
}
for (key, _) in ids {
pipe.atomic().del(format!(
"{}_{namespace}:{}/lock",
self.meta_namespace,
key.to_lowercase()
));
pipe.atomic().del(format!(
"{}_{namespace}:{key}/lock",
self.meta_namespace
@@ -451,7 +465,8 @@ impl RedisPool {
format!(
"{}_{namespace}:{}/lock",
self.meta_namespace,
x.key()
// We lowercase key because locks are stored in lowercase
x.key().to_lowercase()
)
})
.collect::<Vec<_>>(),

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) =>
filterType.supported_project_types.some((projectType) =>
projectTypes.value.includes(projectType),
),
)
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(() => {