import { CircleUser } from "lucide-react"; import StatusCircle from "~/components/StatusCircle"; import cn from "~/utils/cn"; import type { UnlinkedHeadscaleUser } from "../overview"; interface HeadscaleUserRowProps { user: UnlinkedHeadscaleUser; } export default function HeadscaleUserRow({ user }: HeadscaleUserRowProps) { const isOnline = user.machines.some((machine) => machine.online); const lastSeen = user.machines.reduce( (acc, machine) => Math.max(acc, new Date(machine.lastSeen).getTime()), 0, ); return (
{user.name || user.displayName}
{user.email &&{user.email}
}{new Date(user.createdAt).toLocaleDateString()}
{isOnline ? "Connected" : new Date(lastSeen).toLocaleString()}
) : (No machines
)}