Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion components/match/MatchAdminBottomBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ function runCommand(
<span class="sr-only sm:not-sr-only">{{ $t("match.admin") }}</span>
</div>

<MatchAdminSteps :match="match" />
<MatchAdminSteps :match="match" class="max-sm:hidden" />
</div>

<div
Expand Down
16 changes: 15 additions & 1 deletion components/play/PlaySchedule.vue
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ const matchesById = computed(

<TransitionGroup
tag="div"
class="grid gap-2"
class="schedule-grid grid gap-2"
enter-active-class="transition-[opacity,transform] [transition-duration:240ms] [transition-timing-function:cubic-bezier(0.16,1,0.3,1)] motion-reduce:![transition-duration:1ms]"
enter-from-class="translate-y-1 opacity-0"
leave-active-class="transition-opacity [transition-duration:110ms] ease-in motion-reduce:![transition-duration:1ms]"
Expand All @@ -133,3 +133,17 @@ const matchesById = computed(
</TransitionGroup>
</section>
</template>

<style scoped>
/* Rows are subgrids of these tracks; one shared action column keeps every
row's state text starting at the same x. */
.schedule-grid {
grid-template-columns: 96px minmax(0, 1.4fr) minmax(0, 1fr) auto;
}

@media (max-width: 900px) {
.schedule-grid {
grid-template-columns: minmax(0, 1fr);
}
}
</style>
5 changes: 4 additions & 1 deletion components/play/PlayScheduleRow.vue
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,11 @@ async function checkIn() {
</template>

<style scoped>
/* Columns come from the schedule list, so the state and action line up
across rows whatever each row's button label is. */
.schedule-row {
grid-template-columns: 96px minmax(0, 1.4fr) minmax(0, 1fr) auto;
grid-column: 1 / -1;
grid-template-columns: subgrid;
}

/* Phones: time and teams on top, the state and one full-width action below. */
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/ar_SA.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "يجب وضع هذه الإعدادات في:",
"files": "ملفات",
"player_management": "إدارة اللاعبين",
"plugin_version_unknown": "Unknown version",
"no_players": "لا يوجد لاعبون على هذا السيرفر حاليًا",
"player_management_plugin": {
"active": "إضافة إدارة اللاعبين نشطة",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/da_DK.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Denne konfiguration skal placeres i:",
"files": "Filer",
"player_management": "Spillerstyring",
"plugin_version_unknown": "Unknown version",
"no_players": "Ingen spillere på denne server lige nu",
"player_management_plugin": {
"active": "Player Management-plugin aktivt",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/de_DE.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Diese Config gehört nach:",
"files": "Dateien",
"player_management": "Spielerverwaltung",
"plugin_version_unknown": "Unknown version",
"no_players": "Aktuell keine Spieler auf diesem Server",
"player_management_plugin": {
"active": "Player-Management-Plugin aktiv",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -4397,6 +4397,7 @@
"config_location": "This config should be placed in:",
"files": "Files",
"player_management": "Player Management",
"plugin_version_unknown": "Unknown version",
"no_players": "No players currently on this server",
"player_management_plugin": {
"active": "Player Management plugin active",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/es_ES.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Esta configuración debe colocarse en:",
"files": "Archivos",
"player_management": "Gestión de jugadores",
"plugin_version_unknown": "Unknown version",
"no_players": "Ahora mismo no hay jugadores en este servidor",
"player_management_plugin": {
"active": "Plugin de gestión de jugadores activo",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/fr_FR.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Cette config doit être placée dans :",
"files": "Fichiers",
"player_management": "Gestion des joueurs",
"plugin_version_unknown": "Unknown version",
"no_players": "Aucun joueur actuellement sur ce serveur",
"player_management_plugin": {
"active": "Plugin de gestion des joueurs actif",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/it_IT.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Questa config va inserita in:",
"files": "File",
"player_management": "Gestione giocatori",
"plugin_version_unknown": "Unknown version",
"no_players": "Nessun giocatore attualmente su questo server",
"player_management_plugin": {
"active": "Plugin di gestione giocatori attivo",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/ja_JP.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "この設定は次の場所に配置してください:",
"files": "ファイル",
"player_management": "プレイヤー管理",
"plugin_version_unknown": "Unknown version",
"no_players": "現在このサーバーにプレイヤーはいません",
"player_management_plugin": {
"active": "プレイヤー管理プラグイン稼働中",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/ko_KR.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "이 설정 파일은 다음 위치에 두어야 합니다:",
"files": "파일",
"player_management": "플레이어 관리",
"plugin_version_unknown": "Unknown version",
"no_players": "현재 이 서버에 접속 중인 플레이어가 없습니다",
"player_management_plugin": {
"active": "플레이어 관리 플러그인 활성",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/pl_PL.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Ten plik konfiguracyjny należy umieścić w:",
"files": "Pliki",
"player_management": "Zarządzanie graczami",
"plugin_version_unknown": "Unknown version",
"no_players": "Obecnie brak graczy na tym serwerze",
"player_management_plugin": {
"active": "Wtyczka zarządzania graczami aktywna",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/pt_BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Esta configuração deve estar localizada em:",
"files": "Arquivos",
"player_management": "Gerenciamento de Jogadores",
"plugin_version_unknown": "Unknown version",
"no_players": "Nenhum jogador atualmente neste servidor",
"player_management_plugin": {
"active": "Plugin de gerenciamento de jogadores ativo",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/ru_RU.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Этот конфиг нужно разместить в:",
"files": "Файлы",
"player_management": "Управление игроками",
"plugin_version_unknown": "Unknown version",
"no_players": "На этом сервере сейчас нет игроков",
"player_management_plugin": {
"active": "Плагин управления игроками активен",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/sv_SE.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Denna konfiguration ska placeras i:",
"files": "Filer",
"player_management": "Spelarhantering",
"plugin_version_unknown": "Unknown version",
"no_players": "Inga spelare på servern just nu",
"player_management_plugin": {
"active": "Plugin för spelarhantering aktivt",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/tr_TR.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Bu yapılandırma şuraya yerleştirilmeli:",
"files": "Dosyalar",
"player_management": "Oyuncu yönetimi",
"plugin_version_unknown": "Unknown version",
"no_players": "Bu sunucuda şu anda oyuncu yok",
"player_management_plugin": {
"active": "Oyuncu yönetimi eklentisi etkin",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/uk_UA.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "Цей конфіг слід розмістити в:",
"files": "Файли",
"player_management": "Керування гравцями",
"plugin_version_unknown": "Unknown version",
"no_players": "Наразі на цьому сервері немає гравців",
"player_management_plugin": {
"active": "Плагін керування гравцями активний",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/zh_Hans.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "此配置应放置在:",
"files": "文件",
"player_management": "玩家管理",
"plugin_version_unknown": "Unknown version",
"no_players": "此服务器上当前无玩家",
"player_management_plugin": {
"active": "玩家管理插件运行中",
Expand Down
1 change: 1 addition & 0 deletions i18n/locales/zh_Hant.json
Original file line number Diff line number Diff line change
Expand Up @@ -4395,6 +4395,7 @@
"config_location": "此設定應放置於:",
"files": "檔案",
"player_management": "玩家管理",
"plugin_version_unknown": "Unknown version",
"no_players": "此伺服器上目前沒有玩家",
"player_management_plugin": {
"active": "玩家管理外掛運作中",
Expand Down
41 changes: 41 additions & 0 deletions pages/dedicated-servers/[id].vue
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,33 @@ const titleClasses =

<span :class="chipClasses">{{ server.region }}</span>
<span v-if="server.type" :class="chipClasses">{{ server.type }}</span>
<span
v-if="server.plugin_version || pluginVersionMismatch"
:class="[
chipClasses,
'gap-1 normal-case tracking-[0.06em]',
pluginVersionMismatch &&
'border-[hsl(var(--tac-amber)/0.5)] text-[hsl(var(--tac-amber))]',
]"
:title="$t('common.plugin_version')"
>
{{
server.plugin_version
? `v${server.plugin_version}`
: $t("pages.dedicated_servers.detail.plugin_version_unknown")
}}
<template v-if="pluginVersionMismatch && currentPluginVersion">
<span aria-hidden="true">&rarr;</span>
<a
:href="pluginReleaseLink"
target="_blank"
rel="noopener"
class="underline underline-offset-2 hover:text-foreground"
>
v{{ currentPluginVersion }}
</a>
</template>
</span>
<span v-if="isAdmin && serverNode" :class="chipClasses">
{{ serverNode.label || serverNode.id }}
</span>
Expand Down Expand Up @@ -440,6 +467,8 @@ import {
import { useAuthStore } from "~/stores/AuthStore";
import { getQueryString } from "~/composables/useRouteTab";
import { connectAddress } from "~/utilities/connectAddress";
import { effectivePluginRuntime } from "~/constants/rconCommands";
import { pluginReleaseUrl } from "~/constants/gameServerReleases";
import type { ServerRosterStatus } from "~/types/serverOverview";

// Literals, not the generated enum: a type added by a migration is absent
Expand Down Expand Up @@ -619,6 +648,18 @@ export default {
void this.$router.replace({ query });
},
},
currentPluginVersion() {
return useApplicationSettingsStore().currentPluginVersion;
},
pluginReleaseLink() {
return pluginReleaseUrl(
effectivePluginRuntime(
this.server?.plugin_runtime,
useApplicationSettingsStore().gameServerPluginRuntime,
),
this.currentPluginVersion,
);
},
pluginVersionMismatch() {
if (!this.server || this.server.type !== "Ranked") {
return false;
Expand Down
Loading