import { useState } from 'react'; import { Pencil, Menu, ShieldCheck, QrCode, Power, Check, Sparkles, } from 'lucide-react'; import { mockData } from '@/constants/constant'; export default function LocationTable(){ const [selectedIds, setSelectedIds] = useState(['1']); // Row 1 selected by default (teal indicator bar) const toggleSelectAll = () => { if (selectedIds.length === mockData.length) { setSelectedIds([]); } else { setSelectedIds(mockData.map((row) => row.id)); } }; const toggleSelectRow = (id: string) => { setSelectedIds((prev) => prev.includes(id) ? prev.filter((item) => item !== id) : [...prev, id] ); }; return (
{/* TABLE HEADER */} {/* TABLE BODY */} {mockData.map((row) => { const isSelected = selectedIds.includes(row.id); return ( {/* Left Selection Indicator Bar (for Row 1 / Selected Rows) */} {/* Block */} {/* Floor */} {/* Zone */} {/* Department */} {/* Location */} {/* Window */} {/* TAT */} {/* Sched */} {/* Approval */} {/* Status Badge */} {/* Action Icon Buttons */} ); })}
BLOCK FLOOR ZONE DEPARTMENT LOCATION WINDOW TAT SCHED. APPROVAL STATUS ACTIONS
{isSelected && ( )} toggleSelectRow(row.id)} className="rounded border-slate-700 bg-slate-900/80 text-teal-400 focus:ring-0 focus:ring-offset-0 cursor-pointer accent-teal-400 h-3.5 w-3.5" /> {row.block} {row.floor} {row.zone} {row.department} {row.location} {row.window} {row.tat} {row.sched} {row.approval ? ( Yes ) : ( —— )} {row.status === 'ACTIVE' ? ( ACTIVE ) : ( INACTIVE )}
); }