export default function ServerCard({ server, onClick }) { const formatUptime = (seconds) => { const hours = Math.floor(seconds / 3600) if (hours > 24) { const days = Math.floor(hours / 24) return days + 'd ' + (hours % 24) + 'h' } const minutes = Math.floor((seconds % 3600) / 60) return hours + 'h ' + minutes + 'm' } const cpuPercent = Math.min(server.metrics.cpu, 100) const memPercent = Math.min(server.metrics.memory, 100) const getProgressColor = (percent) => { if (percent > 80) return 'progress-bar-danger' if (percent > 60) return 'progress-bar-warning' return 'progress-bar-success' } return (
{/* Header */}

{server.name}

{server.running ? 'Online' : 'Offline'}
{/* Metrics */}
{/* CPU */}
CPU {server.metrics.cpu.toFixed(1)}%
{/* RAM */}
Memory {server.metrics.memoryUsed?.toFixed(1) || 0} / {server.metrics.memoryTotal?.toFixed(1) || 0} {server.metrics.memoryUnit}
{/* Footer Stats */}
{server.players.online} {server.players.max ? ' / ' + server.players.max : ''} players
{server.running && (
Uptime: {formatUptime(server.metrics.uptime)}
)}
{/* Players List */} {server.players?.list?.length > 0 && (
{server.players.list.map((player, i) => ( {player} ))}
)}
) }