import Block from "components/services/widget/block"; import Container from "components/services/widget/container"; import { useTranslation } from "next-i18next/pages"; import useWidgetAPI from "utils/proxy/use-widget-api"; import withWidgetFields from "utils/widget-fields"; const DEFAULT_FIELDS = ["map", "currentPlayers", "ping"]; export default function Component({ service: configuredService }) { const service = withWidgetFields(configuredService, DEFAULT_FIELDS); const { widget } = service; const { data: serverData, error: serverError } = useWidgetAPI(widget, "status"); const { t } = useTranslation(); if (serverError) { return ; } if (!serverData) { return ( ); } const status = serverData.online ? t("gamedig.online") : t("gamedig.offline"); const name = serverData.online ? serverData.name : "-"; const map = serverData.online ? serverData.map : "-"; const currentPlayers = serverData.online ? `${serverData.players} / ${serverData.maxplayers}` : "-"; const players = serverData.online ? `${serverData.players}` : "-"; const maxPlayers = serverData.online ? `${serverData.maxplayers}` : "-"; const bots = serverData.online ? `${serverData.bots}` : "-"; const ping = serverData.online ? `${t("common.ms", { value: serverData.ping, style: "unit", unit: "millisecond" })}` : "-"; return ( ); }