fix(theseus): Fixed multiple bugs (#1304)

* fix(theseus): Resolve log tab freezing entire app (#1127, #1237)
Switched to `vue-typed-virtual-list` due to freezing issues in WebKit caused by `vue-virtual-scroller`, which were difficult to resolve with the previous library.

* fix(theseus): Double opening of Socials Share link (#1136, #1074)

* fix(theseus): Proper symlinks resolution (#1236)
Ensures correct symlink resolution for specific mods, the mods directory, and the entire profile directory.

* fix(theseus): Correctly recognize NeoForge mods (#1215)

* fix(theseus): Corrected `Environments` and `Loaders` filters (#899)

* fix(theseus): Remove `_JAVA_OPTIONS` when testing JRE (#1171)

* fix(theseus): Fixed opening files using `show_in_folder`
Previously, opening a mod would display the contents of the JAR file instead of its location.

* fix(theseus): Hide `.DS_Store` files (#1274, #1002, #1174)

* fix(theseus): Corrected tooltip color

* fix(theseus): Fixed white mode issues (#1144, #1010)

* fix: Corrected `Slider` min and max value handling (#1008)

* fix: Fixed rebase problems

* fix: Fixed `:deep` usage warning

* chore: Updated eslint plugins to fix conflicts with Prettier
This commit is contained in:
Norbiros
2024-07-20 02:20:12 +02:00
committed by GitHub
parent f1713647cf
commit 797e1f1f21
18 changed files with 441 additions and 426 deletions

View File

@@ -488,6 +488,14 @@ const [categories, loaders, availableGameVersions] = await Promise.all([
refreshSearch(),
])
const filteredLoaders = computed(() => {
return loaders.value.filter((loader) => {
return projectType.value === 'mod' || projectType.value === 'modpack'
? loader.supported_project_types[0] === 'mod'
: loader.supported_project_types[0] === projectType.value
})
})
const selectableProjectTypes = computed(() => {
const values = [
{ label: 'Shaders', href: `/browse/shader` },
@@ -518,14 +526,8 @@ const selectableProjectTypes = computed(() => {
const showVersions = computed(
() => instanceContext.value === null || ignoreInstanceGameVersions.value,
)
const showLoaders = computed(
() =>
(projectType.value !== 'datapack' &&
projectType.value !== 'resourcepack' &&
projectType.value !== 'shader' &&
instanceContext.value === null) ||
ignoreInstanceLoaders.value,
)
const isModProject = computed(() => ['modpack', 'mod'].includes(projectType.value))
onUnmounted(() => unlistenOffline())
</script>
@@ -596,17 +598,9 @@ onUnmounted(() => unlistenOffline())
>
<ClearIcon /> Clear filters
</Button>
<div v-if="showLoaders" class="loaders">
<div v-if="isModProject || projectType === 'shader'" class="loaders">
<h2>Loaders</h2>
<div
v-for="loader in loaders.filter(
(l) =>
(projectType !== 'mod' && l.supported_project_types?.includes(projectType)) ||
(projectType === 'mod' &&
['fabric', 'forge', 'quilt', 'neoforge'].includes(l.name)),
)"
:key="loader"
>
<div v-for="loader in filteredLoaders" :key="loader">
<SearchFilter
:active-filters="orFacets"
:icon="loader.icon"
@@ -656,7 +650,7 @@ onUnmounted(() => unlistenOffline())
/>
</div>
</div>
<div v-if="projectType !== 'datapack'" class="environment">
<div v-if="isModProject" class="environment">
<h2>Environments</h2>
<SearchFilter
:active-filters="selectedEnvironments"