From 8308e73994c5985ca44d3d203eba1dc4b6d455a1 Mon Sep 17 00:00:00 2001 From: tdgao Date: Tue, 18 Aug 2026 22:58:20 -0600 Subject: [PATCH] fix: bring back signal icon for ping and players online --- .../src/components/ui/world/WorldItem.vue | 46 ++++++++++++++++--- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/apps/app-frontend/src/components/ui/world/WorldItem.vue b/apps/app-frontend/src/components/ui/world/WorldItem.vue index 919c0b82b0..8147d0bce0 100644 --- a/apps/app-frontend/src/components/ui/world/WorldItem.vue +++ b/apps/app-frontend/src/components/ui/world/WorldItem.vue @@ -9,6 +9,7 @@ import { MoreVerticalIcon, NoSignalIcon, PlayIcon, + SignalIcon, SkullIcon, SpinnerIcon, StopCircleIcon, @@ -25,15 +26,17 @@ import { commonMessages, defineMessages, injectNotificationManager, - ServerOnlinePlayers, SmartClickable, TagItem, TeleportOverflowMenu, useFormatDateTime, + useFormatNumber, useRelativeTime, useVIntl, } from '@modrinth/ui' +import { getPingLevel } from '@modrinth/utils' import dayjs from 'dayjs' +import { Tooltip } from 'floating-vue' import type { Component } from 'vue' import { computed } from 'vue' import { useRouter } from 'vue-router' @@ -53,6 +56,7 @@ import { LockIcon } from '../../../../../../packages/assets/generated-icons' const { formatMessage } = useVIntl() const formatRelativeTime = useRelativeTime() +const formatNumber = useFormatNumber() const formatDateTime = useFormatDateTime({ timeStyle: 'short', dateStyle: 'long', @@ -121,6 +125,9 @@ const props = withDefaults( ) const playingOtherWorld = computed(() => props.playingInstance && !props.playingWorld) +const hasPlayersTooltip = computed( + () => !!props.serverStatus?.players?.sample && props.serverStatus.players.sample.length > 0, +) const serverIncompatible = computed( () => !!props.serverStatus && @@ -238,6 +245,10 @@ const messages = defineMessages({ id: 'app.world.world-item.incompatible-version', defaultMessage: 'Incompatible version {version}', }, + playersOnline: { + id: 'app.world.world-item.players-online', + defaultMessage: '{count} online', + }, offline: { id: 'app.world.world-item.offline', defaultMessage: 'Offline', @@ -315,13 +326,34 @@ const messages = defineMessages({ }} -
- +
+ + + {{ + formatMessage(messages.playersOnline, { + count: formatNumber(serverStatus.players?.online ?? 0), + }) + }} + + + +