import { Monitor, DoorOpen } from "lucide-react"; import { ComputerCard } from "../cards/computer-card"; import { useMachineNumber } from "../../hooks/useMachineNumber"; import type { ClientFolderStatus } from "@/types/folder"; export function DeviceGrid({ devices, folderStatuses, isCheckingFolder, }: { devices: any[]; folderStatuses?: Map; isCheckingFolder?: boolean; }) { const getMachineNumber = useMachineNumber(); const deviceMap = new Map(); devices.forEach((device) => { const number = getMachineNumber(device.id || ""); if (number > 0 && number <= 40) deviceMap.set(number, device); }); const totalRows = 5; const renderRow = (rowIndex: number) => { // Đảo ngược: 21-40 sang trái, 1-20 sang phải const leftStart = 21 + (totalRows - 1 - rowIndex) * 4; const rightStart = (totalRows - 1 - rowIndex) * 4 + 1; return (
{/* Bên trái (21–40) */} {Array.from({ length: 4 }).map((_, i) => { const pos = leftStart + (3 - i); const device = deviceMap.get(pos); const macAddress = device?.networkInfos?.[0]?.macAddress || device?.id; const folderStatus = folderStatuses?.get(macAddress); return ( ); })} {/* Đường chia giữa */}
{/* Bên phải (1–20) */} {Array.from({ length: 4 }).map((_, i) => { const pos = rightStart + (3 - i); const device = deviceMap.get(pos); const macAddress = device?.networkInfos?.[0]?.macAddress || device?.id; const folderStatus = folderStatuses?.get(macAddress); return ( ); })}
); }; return (
{Array.from({ length: totalRows }).map((_, i) => renderRow(i))}
Cửa Ra Vào
Bàn Giảng Viên
); }