"use client";
import { Box, Flex, Group, Text, Tooltip } from "@mantine/core";
import { IconCube, IconUsersGroup } from "@tabler/icons-react";
import { clientApi } from "@homarr/api/client";
import { formatNumber } from "@homarr/common";
import { useScopedI18n } from "@homarr/translation/client";
import { WidgetEmptyState } from "../../common/empty-state";
import type { WidgetComponentProps } from "../../definition";
export default function MinecraftServerStatusWidget({ options }: WidgetComponentProps<"minecraftServerStatus">) {
const { data: result } = clientApi.widget.minecraft.getServerStatus.useQuery(options);
const tStatus = useScopedI18n("widget.minecraftServerStatus.status");
if (!result) return ;
const { data } = result;
const title = options.title.trim().length > 0 ? options.title : options.domain;
return (
{title}
{data.online && (
<>
{!options.isBedrockServer &&
(data.icon ? (
) : (
))}
{formatNumber(data.players.online, 1)} / {formatNumber(data.players.max, 1)}
>
)}
);
}