import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
import { Badge } from "@/components/ui/badge";
import { Monitor, Wifi, WifiOff } from "lucide-react";
import { cn } from "@/lib/utils";
import { FolderStatusPopover } from "../folder-status-popover";
import type { ClientFolderStatus } from "@/types/folder";
export function ComputerCard({
device,
position,
folderStatus,
isCheckingFolder,
}: {
device: any | undefined;
position: number;
folderStatus?: ClientFolderStatus;
isCheckingFolder?: boolean;
}) {
if (!device) {
return (
);
}
const isOffline = device.isOffline;
const firstNetworkInfo = device.networkInfos?.[0];
const agentVersion = device.version;
const DeviceInfo = () => (
Thời gian thiết bị
{new Date(device.deviceTime).toLocaleDateString("vi-VN")}
{new Date(device.deviceTime).toLocaleTimeString("vi-VN")}
Phiên bản
v{device.version}
{device.networkInfos?.length > 0 && (
Thông tin mạng
{device.networkInfos.map((info: any, idx: number) => (
MAC: {info.macAddress ?? "-"}
IP: {info.ipAddress ?? "-"}
))}
)}
Trạng thái
{isOffline ? : }
{isOffline ? "Offline" : "Online"}
);
return (
{position}
{/* Folder Status Icon */}
{device && !isOffline && (
)}
{firstNetworkInfo?.ipAddress && (
{firstNetworkInfo.ipAddress}
{agentVersion && (
v{agentVersion}
)}
)}
{isOffline ? "Off" : "On"}
);
}