import { useSmartRelayNavigation } from '@/PageManager' import { Button } from '@/components/ui/button' import { DropdownMenu, DropdownMenuContent, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from '@/components/ui/dropdown-menu' import { useRelayConnectionRows } from '@/hooks/useRelayConnectionRows' import { toRelay } from '@/lib/link' import { cn } from '@/lib/utils' import { useTranslation } from 'react-i18next' import RelayIcon from '../RelayIcon' import { ACTIVE_RELAYS_MAX_ICONS, activeRelayRowMuted, activeRelayRowTitle } from './active-relays-display' /** * Compact relay status: icon buttons only (no hostname labels). */ export function ActiveRelaysIconGrid({ className }: { className?: string }) { const { t } = useTranslation() const { navigateToRelay } = useSmartRelayNavigation() const { rows } = useRelayConnectionRows() const shown = rows.slice(0, ACTIVE_RELAYS_MAX_ICONS) const overflowRows = rows.slice(ACTIVE_RELAYS_MAX_ICONS) const overflow = overflowRows.length if (rows.length === 0) { return (
—
) } return (