Add game version warning for shaders (#5227)

This commit is contained in:
Prospector
2026-01-28 11:43:58 -08:00
committed by GitHub
parent 4c14339b4b
commit 728f8db7b9
4 changed files with 22 additions and 2 deletions

View File

@@ -2684,6 +2684,9 @@
"scopes.versionWrite.label": { "scopes.versionWrite.label": {
"message": "Write versions" "message": "Write versions"
}, },
"search.filter.game-version-shader-message": {
"message": "Shader packs for older versions most likely work on newer versions with only minor issues."
},
"search.filter.locked.server": { "search.filter.locked.server": {
"message": "Provided by the server" "message": "Provided by the server"
}, },

View File

@@ -7,6 +7,7 @@ import {
GameIcon, GameIcon,
GridIcon, GridIcon,
ImageIcon, ImageIcon,
InfoIcon,
LeftArrowIcon, LeftArrowIcon,
ListIcon, ListIcon,
SearchIcon, SearchIcon,
@@ -213,6 +214,11 @@ const messages = defineMessages({
id: 'search.filter.locked.server.sync', id: 'search.filter.locked.server.sync',
defaultMessage: 'Sync with server', defaultMessage: 'Sync with server',
}, },
gameVersionShaderMessage: {
id: 'search.filter.game-version-shader-message',
defaultMessage:
'Shader packs for older versions most likely work on newer versions with only minor issues.',
},
}) })
interface InstallableSearchResult extends Labrinth.Search.v2.ResultSearchProject { interface InstallableSearchResult extends Labrinth.Search.v2.ResultSearchProject {
@@ -500,11 +506,17 @@ useSeoMeta({
button-class="button-animation flex flex-col gap-1 px-6 py-4 w-full bg-transparent cursor-pointer border-none" button-class="button-animation flex flex-col gap-1 px-6 py-4 w-full bg-transparent cursor-pointer border-none"
content-class="mb-4 mx-3" content-class="mb-4 mx-3"
inner-panel-class="p-1" inner-panel-class="p-1"
:open-by-default="true" :open-by-default="!(currentType === 'shader' && filter.id === 'game_version')"
> >
<template #header> <template #header>
<h3 class="m-0 text-lg">{{ filter.formatted_name }}</h3> <h3 class="m-0 text-lg">{{ filter.formatted_name }}</h3>
</template> </template>
<template v-if="currentType === 'shader' && filter.id === 'game_version'" #prefix>
<div class="mb-4 grid grid-cols-[auto_1fr] gap-2 px-3 text-sm font-medium text-blue">
<InfoIcon class="mt-1 size-4" />
<span> {{ formatMessage(messages.gameVersionShaderMessage) }}</span>
</div>
</template>
<template #locked-game_version> <template #locked-game_version>
{{ formatMessage(messages.gameVersionProvidedByServer) }} {{ formatMessage(messages.gameVersionProvidedByServer) }}
</template> </template>

View File

@@ -64,6 +64,7 @@
</div> </div>
</template> </template>
<template v-else #default> <template v-else #default>
<slot name="prefix" />
<div v-if="filterType.searchable" class="iconified-input mx-2 my-1 !flex"> <div v-if="filterType.searchable" class="iconified-input mx-2 my-1 !flex">
<SearchIcon aria-hidden="true" /> <SearchIcon aria-hidden="true" />
<input <input

View File

@@ -228,7 +228,11 @@ export function useSearch(
query_value: gameVersion.version, query_value: gameVersion.version,
method: 'or', method: 'or',
})), })),
ordering: projectTypes.value.includes('mod') ? 2 : undefined, ordering: projectTypes.value.includes('mod')
? 2
: projectTypes.value.includes('shader')
? -1
: undefined,
}, },
{ {
id: 'mod_loader', id: 'mod_loader',