Website/src/components/ServerStatus.svelte

38 Zeilen
1.5 KiB
Svelte

<!--
- This file is a part of the SteamWar software.
-
- Copyright (C) 2023 SteamWar.de-Serverteam
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
2023-11-03 20:31:27 +01:00
<script lang="ts">
import { t } from "astro-i18n"
2023-11-05 22:27:20 +01:00
import {server} from "./stores/stores.ts";
2023-11-03 20:31:27 +01:00
function generateVersionString(version: string): string {
let versions = version.split(" ").slice(1)
return `${versions[0].replace(",", "")} - ${versions[versions.length - 1]}`
}
</script>
{#await $server}
<p>{t("status.loading")}</p>
{:then data}
<h2>{t("status.status")}: <span class="text-green-500">{t("status.online")}</span></h2>
<h2>{t("status.players", { count: `${data.players.online}/${data.players.max}`})}</h2>
<h2>{t("status.version", { version: generateVersionString(data.version.name)})}</h2>
{:catch _}
2023-11-03 20:31:27 +01:00
<h1>{t("status.status")}: <span class="text-red-500">{t("status.offline")}</span></h1>
{/await}