import { Server } from '@/api/server/getServer' import { formatBytes, getInitials } from '@/util/helpers' import styled from '@emotion/styled' import { Avatar, Badge } from '@mantine/core' import { useMemo } from 'react' import { Link } from 'react-router-dom' import tw from 'twin.macro' interface Props { server: Server } export const Dt = styled.dt` ${tw`text-accent-500 font-medium text-xs`} ` export const Dd = styled.dt` ${tw`text-sm text-foreground font-medium`} ` const ServerCard = ({ server }: Props) => { const memory = useMemo(() => formatBytes(server.limits.memory, 0), [server]) const disk = useMemo(() => formatBytes(server.limits.disk, 0), [server]) return (
{getInitials(server.name, ' ', 2)}

{server.name}

{' '} {server.status === 'suspended' && ( Suspended )}

{server.hostname}

CPU
{ server.limits.cpu }
Memory
{memory.size} {memory.unit}
Disk
{disk.size} {disk.unit}
) } export default ServerCard