4223 lines
117 KiB
TypeScript
4223 lines
117 KiB
TypeScript
import ActionButtons from "@/components/common/actionButton";
|
||
import Button from "@/components/common/button";
|
||
import { StatusBadge } from "@/components/common/statusBadge";
|
||
import { FileText, Eye, Pencil, GitBranch, Settings } from "lucide-react";
|
||
|
||
//Vendor field Service
|
||
|
||
export const vendorPerformanceHeaders = [
|
||
"VENDOR",
|
||
"SCOPE",
|
||
"RATING",
|
||
"SLA",
|
||
"RESPONSE",
|
||
"OPEN",
|
||
];
|
||
|
||
export const vendorPerformanceRows = [
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Voltas Ltd</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">CTR-700</span>
|
||
</div>,
|
||
|
||
<span className="text-slate-400 font-semibold">
|
||
HVAC AMC & breakdown
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-300">
|
||
4.6 <span className="text-amber-400">★</span>
|
||
</span>,
|
||
|
||
<span className="font-bold text-emerald-400">95%</span>,
|
||
|
||
<span className="font-mono text-slate-200">4.0h</span>,
|
||
|
||
<span className="font-bold text-sky-400">2</span>,
|
||
],
|
||
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Blue Star</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">CTR-701</span>
|
||
</div>,
|
||
|
||
<span className="text-slate-400 font-semibold">
|
||
Chiller & VRV service
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-300">
|
||
4.1 <span className="text-amber-400">★</span>
|
||
</span>,
|
||
|
||
<span className="font-bold text-amber-400">88%</span>,
|
||
|
||
<span className="font-mono text-slate-200">1.2h</span>,
|
||
|
||
<span className="font-bold text-sky-400">2</span>,
|
||
],
|
||
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Sterling FM</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">CTR-702</span>
|
||
</div>,
|
||
|
||
<span className="text-slate-400 font-semibold">
|
||
Integrated FM / soft services
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-300">
|
||
3.4 <span className="text-amber-400">★</span>
|
||
</span>,
|
||
|
||
<span className="font-bold text-amber-400">94%</span>,
|
||
|
||
<span className="font-mono text-slate-200">2.4h</span>,
|
||
|
||
<span className="font-bold text-sky-400">4</span>,
|
||
],
|
||
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">OTIS Elevators</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">CTR-704</span>
|
||
</div>,
|
||
|
||
<span className="text-slate-400 font-semibold">
|
||
Elevator AMC
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-300">
|
||
4.8 <span className="text-amber-400">★</span>
|
||
</span>,
|
||
|
||
<span className="font-bold text-emerald-400">95%</span>,
|
||
|
||
<span className="font-mono text-slate-200">2.8h</span>,
|
||
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Sodexo</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">CTR-705</span>
|
||
</div>,
|
||
|
||
<span className="text-slate-400 font-semibold">
|
||
Soft services & cafeteria
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-300">
|
||
4.3 <span className="text-amber-400">★</span>
|
||
</span>,
|
||
|
||
<span className="font-bold text-amber-400">90%</span>,
|
||
|
||
<span className="font-mono text-slate-200">2.8h</span>,
|
||
|
||
<span className="font-bold text-sky-400">1</span>,
|
||
],
|
||
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">In-house team</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">—</span>
|
||
</div>,
|
||
|
||
<span className="text-slate-400 font-semibold">
|
||
Day-to-day maintenance
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-300">
|
||
4.0 <span className="text-amber-400">★</span>
|
||
</span>,
|
||
|
||
<span className="font-bold text-amber-400">93%</span>,
|
||
|
||
<span className="font-mono text-slate-200">3.2h</span>,
|
||
|
||
<span className="font-bold text-sky-400">3</span>,
|
||
],
|
||
];
|
||
|
||
export const teamStatusHeaders = [
|
||
"TEAM MEMBER",
|
||
"STATUS",
|
||
];
|
||
export const teamStatusRows = [
|
||
[
|
||
<div className="flex items-center gap-3">
|
||
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-cyan-950 text-cyan-400 font-bold">
|
||
RK
|
||
</div>
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">
|
||
Ravi Kumar
|
||
</span>
|
||
<span className="text-slate-400">
|
||
M&E Technician · Chiller plant
|
||
</span>
|
||
</div>
|
||
</div>,
|
||
|
||
<div className="flex flex-col items-end">
|
||
<StatusBadge
|
||
text="ON-SITE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>
|
||
<span className="mt-2 text-slate-500 font-mono">
|
||
6.4h today
|
||
</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<div className="flex items-center gap-3">
|
||
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-cyan-950 text-cyan-400 font-bold">
|
||
SI
|
||
</div>
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">
|
||
Sana Iqbal
|
||
</span>
|
||
<span className="text-slate-400">
|
||
HVAC Engineer · AHU room L7
|
||
</span>
|
||
</div>
|
||
</div>,
|
||
|
||
<div className="flex flex-col items-end">
|
||
<StatusBadge
|
||
text="ON-SITE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>
|
||
<span className="mt-2 text-slate-500 font-mono">
|
||
6.1h today
|
||
</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<div className="flex items-center gap-3">
|
||
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-cyan-950 text-cyan-400 font-bold">
|
||
MD
|
||
</div>
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">
|
||
Mohan D.
|
||
</span>
|
||
<span className="text-slate-400">
|
||
Electrician · En route
|
||
</span>
|
||
</div>
|
||
</div>,
|
||
|
||
<div className="flex flex-col items-end">
|
||
<StatusBadge
|
||
text="EN-ROUTE"
|
||
color="bg-amber-900/60 text-amber-400 border border-amber-800/50"
|
||
/>
|
||
<span className="mt-2 text-slate-500 font-mono">—</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<div className="flex items-center gap-3">
|
||
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-cyan-950 text-cyan-400 font-bold">
|
||
LN
|
||
</div>
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">
|
||
Lakshmi N.
|
||
</span>
|
||
<span className="text-slate-400">
|
||
Housekeeping Lead · Lobby + L2
|
||
</span>
|
||
</div>
|
||
</div>,
|
||
|
||
<div className="flex flex-col items-end">
|
||
<StatusBadge
|
||
text="ON-SITE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>
|
||
<span className="mt-2 text-slate-500 font-mono">
|
||
6.7h today
|
||
</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<div className="flex items-center gap-3">
|
||
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-cyan-950 text-cyan-400 font-bold">
|
||
AP
|
||
</div>
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">
|
||
Arjun P.
|
||
</span>
|
||
<span className="text-slate-400">
|
||
Plumber · Off-site
|
||
</span>
|
||
</div>
|
||
</div>,
|
||
|
||
<div className="flex flex-col items-end">
|
||
<StatusBadge
|
||
text="OFF-SITE"
|
||
color="bg-slate-800 text-slate-400 border border-slate-700"
|
||
/>
|
||
<span className="mt-2 text-slate-500 font-mono">—</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<div className="flex items-center gap-3">
|
||
<div className="flex h-10 w-10 items-center justify-center rounded-xl bg-cyan-950 text-cyan-400 font-bold">
|
||
FR
|
||
</div>
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">
|
||
Fatima R.
|
||
</span>
|
||
<span className="text-slate-400">
|
||
BMS Operator · Control room
|
||
</span>
|
||
</div>
|
||
</div>,
|
||
|
||
<div className="flex flex-col items-end">
|
||
<StatusBadge
|
||
text="ON-SITE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>
|
||
<span className="mt-2 text-slate-500 font-mono">
|
||
7.6h today
|
||
</span>
|
||
</div>,
|
||
],
|
||
];
|
||
|
||
//Device Fleet
|
||
export const devicefleetheaders = [
|
||
"DEVICE",
|
||
"TYPE",
|
||
"PROTOCOL",
|
||
"LOCATION",
|
||
"FIRMWARE",
|
||
"LAST SEEN",
|
||
"STATUS",
|
||
"",
|
||
];
|
||
|
||
export const devicefleetrows = [
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
GW-01
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Gateway
|
||
</span>,
|
||
<span className="font-mono text-slate-200">BACnet/IP</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Main LT panel
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v2.4.1</span>,
|
||
<span className="font-mono text-slate-300">2 s ago</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
GW-02
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Gateway
|
||
</span>,
|
||
<span className="font-mono text-slate-200">Modbus TCP</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Chiller plant room
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v2.4.1</span>,
|
||
<span className="font-mono text-slate-300">4 s ago</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
CTL-11
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Controller
|
||
</span>,
|
||
<span className="font-mono text-slate-200">BACnet MS/TP</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
AHU-07 · Floor 5
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v1.9.0</span>,
|
||
<span className="font-mono text-slate-300">1 s ago</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
CTL-14
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Controller
|
||
</span>,
|
||
<span className="font-mono text-slate-200">BACnet MS/TP</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
AHU-09 · Basement
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v1.7.2</span>,
|
||
<span className="font-mono text-slate-300">38 min ago</span>,
|
||
<StatusBadge
|
||
text="OFFLINE"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Restart
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
SNS-208
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
IAQ sensor
|
||
</span>,
|
||
<span className="font-mono text-slate-200">MQTT · LoRa</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Open office · L3
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v3.1.0</span>,
|
||
<span className="font-mono text-slate-300">12 s ago</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
SNS-231
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Energy meter
|
||
</span>,
|
||
<span className="font-mono text-slate-200">Modbus RTU</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
DG room
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v3.0.4</span>,
|
||
<span className="font-mono text-slate-300">6 s ago</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 font-mono whitespace-nowrap">
|
||
SNS-244
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Water meter
|
||
</span>,
|
||
<span className="font-mono text-slate-200">MQTT · NB-IoT</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Pump room
|
||
</span>,
|
||
<span className="font-mono text-slate-300">v3.1.0</span>,
|
||
<span className="font-mono text-slate-300">20 s ago</span>,
|
||
<StatusBadge
|
||
text="FW UPDATE"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
<div className="flex items-center gap-2">
|
||
<Button className="rounded-md border border-slate-700/60 bg-slate-900/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 hover:text-white transition">
|
||
Ping
|
||
</Button>
|
||
</div>,
|
||
],
|
||
];
|
||
export const schedulePerformanceHeaders = [
|
||
"Schedule",
|
||
"Total",
|
||
"Done",
|
||
"On Time",
|
||
"Delayed",
|
||
];
|
||
|
||
export const schedulePerformanceRows = [
|
||
["PPM", 24, 19, 17, 2],
|
||
["AMC", 8, 6, 6, 0],
|
||
];
|
||
|
||
//Inventory page
|
||
|
||
export const inventoryHeaders = [
|
||
"Item",
|
||
"Group",
|
||
"Store",
|
||
"Min",
|
||
"Present",
|
||
"Status",
|
||
"Actions",
|
||
];
|
||
|
||
export const inventoryRows = [
|
||
[
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100 leading-5">
|
||
Cooling tower fan belt
|
||
</span>
|
||
</div>,
|
||
|
||
<span className="font-bold text-slate-200">HVAC</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Block</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">5</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
8 <span className="font-mono">Gallon</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="COMPLETED"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Air filter 24×24
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">HVAC</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Block</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">5</span>,
|
||
|
||
<span className="font-bold text-rose-400">
|
||
4 <span className="font-mono">Nos</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="OVERDUE"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
MCB 32A
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">Electrical</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Block</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">3</span>,
|
||
|
||
<span className="font-bold text-rose-400">
|
||
2 <span className="font-mono">Nos</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="OVERDUE"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Contactor 40A
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">Electrical</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Block</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">2</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
8 <span className="font-mono">Nos</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="COMPLETED"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-cyan-500 bg-cyan-500/10 px-3 py-1 font-semibold text-cyan-400">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
PVC pipe 1"
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">Plumbing</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Block</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">3</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
8 <span className="font-mono">Mtr</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="COMPLETED"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Submersible pump seal
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">Plumbing</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Block</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">5</span>,
|
||
|
||
<span className="font-bold text-rose-400">
|
||
0 <span className="font-mono">Nos</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="OVERDUE"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Refrigerant R410a
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">HVAC</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-200">Main</span>
|
||
<span className="font-bold text-slate-200">Store</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">2</span>,
|
||
|
||
<span className="font-bold text-rose-400">
|
||
2 <span className="font-mono">Kg</span>
|
||
</span>,
|
||
|
||
<StatusBadge
|
||
text="OVERDUE"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Receive
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Consume
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300">
|
||
Edit
|
||
</Button>
|
||
</div>,
|
||
],
|
||
];
|
||
|
||
|
||
export const consumptionHeaders = [
|
||
"TXN",
|
||
"ITEM",
|
||
"TYPE",
|
||
"QTY",
|
||
"JOB CARD",
|
||
"DATE",
|
||
];
|
||
|
||
export const workPermitHeaders = [
|
||
"PERMIT",
|
||
"WORKING TYPE",
|
||
"LOCATION",
|
||
"CONTRACTOR",
|
||
"VALIDITY",
|
||
"CREW",
|
||
"STATUS",
|
||
"",
|
||
];
|
||
|
||
|
||
|
||
export const workPermitRows = [
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2663
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Work at Height
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
Atrium void
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
Blue Star
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 26, 2026</span>
|
||
<span className="text-xs text-slate-500">08:30–17:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">2</span>,
|
||
|
||
<StatusBadge
|
||
text="ACTIVE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-3">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
<Button className="font-semibold text-teal-400">
|
||
Close out
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2664
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Electrical Isolation
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
STP wet well
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
Sterling FM
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 26, 2026</span>
|
||
<span className="text-xs text-slate-500">09:00–13:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">3</span>,
|
||
|
||
<StatusBadge
|
||
text="SUBMITTED"
|
||
color="bg-amber-900/60 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-3">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
<Button className="font-semibold text-teal-400">
|
||
Approve
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2665
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Confined Space
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
DG yard
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
In-house team
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 26, 2026</span>
|
||
<span className="text-xs text-slate-500">14:00–18:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">4</span>,
|
||
|
||
<StatusBadge
|
||
text="APPROVED"
|
||
color="bg-sky-900/60 text-sky-400 border border-sky-800/50"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-3">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
<Button className="font-semibold text-teal-400">
|
||
Activate
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2666
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Hot Work
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
Roof terrace
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
Voltas Ltd
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 25, 2026</span>
|
||
<span className="text-xs text-slate-500">08:00–12:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">5</span>,
|
||
|
||
<StatusBadge
|
||
text="EXPIRED"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-2">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<Eye size={16} />
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2667
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Work at Height
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
LT panel room
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
Blue Star
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 25, 2026</span>
|
||
<span className="text-xs text-slate-500">10:00–16:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">2</span>,
|
||
|
||
<StatusBadge
|
||
text="CLOSED"
|
||
color="bg-slate-800 text-slate-400 border border-slate-700"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-2">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<Eye size={16} />
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2668
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Electrical Isolation
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
Chiller plant
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
Sterling FM
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 26, 2026</span>
|
||
<span className="text-xs text-slate-500">11:00–15:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">3</span>,
|
||
|
||
<StatusBadge
|
||
text="REJECTED"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-2">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<Eye size={16} />
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
PTW-2726
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-100">
|
||
Work at Height
|
||
</span>,
|
||
|
||
<span className="font-semibold text-slate-300">
|
||
Atrium void
|
||
</span>,
|
||
|
||
<span className="font-bold text-slate-200">
|
||
Blue Star
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-mono text-slate-300">Jun 26, 2026</span>
|
||
<span className="text-xs text-slate-500">08:30–17:00</span>
|
||
</div>,
|
||
|
||
<span className="font-mono text-slate-200">2</span>,
|
||
|
||
<StatusBadge
|
||
text="SUBMITTED"
|
||
color="bg-amber-900/60 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<div className="flex flex-col items-center gap-3">
|
||
<Button className="flex h-9 w-9 items-center justify-center rounded-xl border border-[#2a3d59] text-slate-400 hover:text-white">
|
||
<FileText size={16} />
|
||
</Button>
|
||
<Button className="font-semibold text-teal-400">
|
||
Approve
|
||
</Button>
|
||
</div>,
|
||
],
|
||
];
|
||
export const consumptionRows = [
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5200
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Cooling tower fan belt</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
2 Gallon
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1009
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 20, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5201
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">MCB 32A</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
1 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1016
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 21, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5202
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Air filter 24×24</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="RECEIPT"
|
||
color="bg-sky-950/80 text-sky-400 border border-sky-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
10 Nos
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-500">
|
||
—
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 22, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5203
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Submersible pump seal</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
1 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1023
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 23, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5204
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Air filter 24×24</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
3 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1030
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 24, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5205
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">PVC pipe 1"</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="RECEIPT"
|
||
color="bg-sky-950/80 text-sky-400 border border-sky-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
20 Mtr
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-500">
|
||
—
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 25, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5406
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Cooling tower fan belt</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
2 Gallon
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1009
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 7, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5407
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">MCB 32A</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
1 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1016
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 8, 2026
|
||
</span>,
|
||
],
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5203
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Submersible pump seal</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
1 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1023
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 23, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5204
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Air filter 24×24</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
3 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1030
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 24, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5205
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">PVC pipe 1"</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="RECEIPT"
|
||
color="bg-sky-950/80 text-sky-400 border border-sky-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
20 Mtr
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-500">
|
||
—
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 25, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5406
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Cooling tower fan belt</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
2 Gallon
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1009
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 7, 2026
|
||
</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
TXN-5407
|
||
</span>,
|
||
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">MCB 32A</span>
|
||
</div>,
|
||
|
||
<StatusBadge
|
||
text="CONSUME"
|
||
color="bg-amber-950/80 text-amber-400 border border-amber-800/50"
|
||
/>,
|
||
|
||
<span className="font-mono text-slate-200">
|
||
1 Nos
|
||
</span>,
|
||
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
026/1016
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-300">
|
||
Jun 8, 2026
|
||
</span>,
|
||
],
|
||
];
|
||
|
||
//Energy Utility in IOT app
|
||
export const energyUtilityHeaders = [
|
||
"METER",
|
||
"UTILITY",
|
||
"READING",
|
||
"LIVE",
|
||
"STATUS",
|
||
"LAST SYNC",
|
||
];
|
||
|
||
export const energyUtilityRows = [
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
MTR-EB-01
|
||
</span>,
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Grid mains · EB</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">Main LT panel</span>
|
||
</div>,
|
||
<span className="font-mono text-slate-200">4,82,110 kWh</span>,
|
||
<span className="font-bold text-teal-400 font-mono">312 kW</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<span className="font-mono text-slate-300">4 s ago</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
MTR-DG-01
|
||
</span>,
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">DG set · 500 kVA</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">DG yard</span>
|
||
</div>,
|
||
<span className="font-mono text-slate-200">18,240 kWh</span>,
|
||
<span className="font-bold text-teal-400 font-mono">0 kW</span>,
|
||
<StatusBadge
|
||
text="STANDBY"
|
||
color="bg-slate-800/80 text-sky-400 border border-sky-800/50"
|
||
/>,
|
||
<span className="font-mono text-slate-300">8 s ago</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
MTR-SOL-01
|
||
</span>,
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Solar rooftop</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">Terrace inverter room</span>
|
||
</div>,
|
||
<span className="font-mono text-slate-200">96,480 kWh</span>,
|
||
<span className="font-bold text-teal-400 font-mono">74 kW</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<span className="font-mono text-slate-300">3 s ago</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
MTR-WTR-01
|
||
</span>,
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Water · municipal</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">Pump room inlet</span>
|
||
</div>,
|
||
<span className="font-mono text-slate-200">12,940 kL</span>,
|
||
<span className="font-bold text-teal-400 font-mono">2.1 kL/h</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<span className="font-mono text-slate-300">11 s ago</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
MTR-WTR-02
|
||
</span>,
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">Water · borewell</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">Pump room inlet</span>
|
||
</div>,
|
||
<span className="font-mono text-slate-200">3,410 kL</span>,
|
||
<span className="font-bold text-teal-400 font-mono">0.6 kL/h</span>,
|
||
<StatusBadge
|
||
text="ONLINE"
|
||
color="bg-emerald-950/80 text-emerald-400 border border-emerald-800/50"
|
||
/>,
|
||
<span className="font-mono text-slate-300">9 s ago</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-teal-400 font-mono">
|
||
MTR-GAS-01
|
||
</span>,
|
||
<div className="flex flex-col">
|
||
<span className="font-bold text-slate-100">LPG · kitchen bank</span>
|
||
<span className="text-[11px] text-[#5c738e] font-mono">Gas bank, B1</span>
|
||
</div>,
|
||
<span className="font-mono text-slate-200">1,880 kg</span>,
|
||
<span className="font-mono text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="OFFLINE"
|
||
color="bg-rose-950/80 text-rose-400 border border-rose-800/50"
|
||
/>,
|
||
<span className="font-mono text-slate-300">26 min ago</span>,
|
||
],
|
||
];
|
||
|
||
|
||
//connected asset in intelligence
|
||
export const connectedassetheaders = [
|
||
"Asset",
|
||
"Location",
|
||
"Now",
|
||
"Setpoint",
|
||
"Trend",
|
||
"Status",
|
||
"",
|
||
];
|
||
|
||
export const connectedassetrows = [
|
||
[
|
||
<span className="font-semibold text-cyan-400 whitespace-nowrap">
|
||
CASE-D12
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Dairy case · Store 4, Mumbai
|
||
</span>,
|
||
<span className="font-semibold">3.1°C</span>,
|
||
"2–4°C",
|
||
<span className="font-mono text-slate-300">stable</span>,
|
||
<StatusBadge
|
||
text="Healthy"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/60 px-4 py-1 text-slate-400 hover:bg-slate-800 hover:text-white transition">
|
||
Telemetry
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-cyan-400 whitespace-nowrap">
|
||
CASE-F03
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Frozen island · Store 4, Mumbai
|
||
</span>,
|
||
<span className="font-semibold">-19.4°C</span>,
|
||
"≤ -18°C",
|
||
<span className="font-mono text-slate-300">stable</span>,
|
||
<StatusBadge
|
||
text="Healthy"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/60 px-4 py-1 text-slate-400 hover:bg-slate-800 hover:text-white transition">
|
||
Telemetry
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-cyan-400 whitespace-nowrap">
|
||
CASE-D07
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Dairy case · Store 9, Pune
|
||
</span>,
|
||
<span className="font-semibold">5.2°C</span>,
|
||
"2–4°C",
|
||
<span className="font-mono text-slate-300">+0.4°/h</span>,
|
||
<StatusBadge
|
||
text="Excursion"
|
||
color="bg-red-500/15 text-red-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/60 px-4 py-1 text-slate-400 hover:bg-slate-800 hover:text-white transition">
|
||
Telemetry
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-cyan-400 whitespace-nowrap">
|
||
CHIL-02
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Chiller · Horizon Tower
|
||
</span>,
|
||
<span className="font-semibold">6.8°C</span>,
|
||
"6–8°C",
|
||
<span className="font-mono text-slate-300">drifting</span>,
|
||
<StatusBadge
|
||
text="Watch"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/60 px-4 py-1 text-slate-400 hover:bg-slate-800 hover:text-white transition">
|
||
Telemetry
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-cyan-400 whitespace-nowrap">
|
||
CASE-B01
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Beverage cooler · Store 2, Delhi
|
||
</span>,
|
||
<span className="font-semibold">3.8°C</span>,
|
||
"2–4°C",
|
||
<span className="font-mono text-slate-300">stable</span>,
|
||
<StatusBadge
|
||
text="Healthy"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/60 px-4 py-1 text-slate-400 hover:bg-slate-800 hover:text-white transition">
|
||
Telemetry
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-cyan-400 whitespace-nowrap">
|
||
AHU-07
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
AHU · Lakeside Campus
|
||
</span>,
|
||
<span className="font-semibold">12.1°C</span>,
|
||
"11–13°C",
|
||
<span className="font-mono text-slate-300">stable</span>,
|
||
<StatusBadge
|
||
text="Healthy"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/60 px-4 py-1 text-slate-400 hover:bg-slate-800 hover:text-white transition">
|
||
Telemetry
|
||
</Button>,
|
||
],
|
||
];
|
||
//Connected Ops in intelligence
|
||
export const connectedheaders = [
|
||
"Site",
|
||
"Open WOs",
|
||
"SLA",
|
||
"Cost MTD",
|
||
"Vendor Score",
|
||
"Status",
|
||
];
|
||
|
||
export const connectedrows = [
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Horizon Tower · Mumbai
|
||
</span>,
|
||
"34",
|
||
<span className="font-semibold text-emerald-400">96%</span>,
|
||
"₹8.4 L",
|
||
"4.6 / 5",
|
||
<StatusBadge
|
||
text="Healthy"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Lakeside Campus · Pune
|
||
</span>,
|
||
"51",
|
||
<span className="font-semibold text-amber-400">88%</span>,
|
||
"₹12.1 L",
|
||
"4.1 / 5",
|
||
<StatusBadge
|
||
text="Watch"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Metro Business Park · Delhi
|
||
</span>,
|
||
"28",
|
||
<span className="font-semibold text-emerald-400">93%</span>,
|
||
"₹6.7 L",
|
||
"4.4 / 5",
|
||
<StatusBadge
|
||
text="Healthy"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Coastal One · Chennai
|
||
</span>,
|
||
"63",
|
||
<span className="font-semibold text-red-400">74%</span>,
|
||
"₹15.8 L",
|
||
"3.2 / 5",
|
||
<StatusBadge
|
||
text="At Risk"
|
||
color="bg-red-500/15 text-red-400"
|
||
/>,
|
||
],
|
||
];
|
||
|
||
|
||
|
||
|
||
// Asset Health page in intelligence
|
||
|
||
|
||
|
||
export const assetHealthheaders = [
|
||
"Asset",
|
||
"Criticality",
|
||
"Health",
|
||
"MTBF",
|
||
"MTTR",
|
||
"Recommendation",
|
||
];
|
||
|
||
export const assetHealthrows = [
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Main DB</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1100 • Plumbing
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Normal"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[88%] rounded-full bg-emerald-400" />
|
||
</div>
|
||
<span className="font-semibold text-emerald-400">88</span>
|
||
</div>,
|
||
"162d",
|
||
"3.5h",
|
||
"On PPM plan",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Main DB</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1103 • Plumbing
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Normal"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[93%] rounded-full bg-emerald-400" />
|
||
</div>
|
||
<span className="font-semibold text-emerald-400">93</span>
|
||
</div>,
|
||
"138d",
|
||
"6h",
|
||
"On PPM plan",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Cooling Tower</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1106 • Electrical
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Important"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[62%] rounded-full bg-amber-400" />
|
||
</div>
|
||
<span className="font-semibold text-amber-400">62</span>
|
||
</div>,
|
||
"186d",
|
||
"6h",
|
||
"Add condition check",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Chiller</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1109 • Electrical
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Normal"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[91%] rounded-full bg-emerald-400" />
|
||
</div>
|
||
<span className="font-semibold text-emerald-400">91</span>
|
||
</div>,
|
||
"282d",
|
||
"6h",
|
||
"On PPM plan",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Chiller</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1112 • Plumbing
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Important"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[82%] rounded-full bg-emerald-400" />
|
||
</div>
|
||
<span className="font-semibold text-emerald-400">82</span>
|
||
</div>,
|
||
"186d",
|
||
"5h",
|
||
"On PPM plan",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">
|
||
Air Handling Unit
|
||
</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1115 • Plumbing
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Important"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[79%] rounded-full bg-amber-400" />
|
||
</div>
|
||
<span className="font-semibold text-amber-400">79</span>
|
||
</div>,
|
||
"306d",
|
||
"6.5h",
|
||
"Add condition check",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Main DB</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1118 • Electrical
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Important"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[72%] rounded-full bg-amber-400" />
|
||
</div>
|
||
<span className="font-semibold text-amber-400">72</span>
|
||
</div>,
|
||
"138d",
|
||
"2h",
|
||
"Add condition check",
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<div className="font-semibold text-slate-100">Chiller</div>
|
||
<div className="text-sm font-mono text-slate-400">
|
||
APP-1121 • Electrical
|
||
</div>
|
||
</div>,
|
||
<StatusBadge
|
||
text="Important"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-2 w-28 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[76%] rounded-full bg-amber-400" />
|
||
</div>
|
||
<span className="font-semibold text-amber-400">76</span>
|
||
</div>,
|
||
"138d",
|
||
"6h",
|
||
"Add condition check",
|
||
],
|
||
];
|
||
|
||
//visitor management page in workplace
|
||
|
||
|
||
export const visitorheaders = [
|
||
"Pass",
|
||
"Visitor",
|
||
"Company",
|
||
"Host",
|
||
"Purpose",
|
||
"Type",
|
||
"In",
|
||
"Out",
|
||
"Status",
|
||
"",
|
||
];
|
||
|
||
|
||
export const visitorrows = [
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4145</span>,
|
||
<span className="font-semibold text-slate-100">Rahul Mehta</span>,
|
||
"Voltas Ltd",
|
||
"Dhananjay T.",
|
||
"Maintenance visit",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Contractor</span>,
|
||
"09:12",
|
||
"—",
|
||
<StatusBadge text="Checked-In" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<Button className="text-teal-400 font-semibold hover:text-teal-300">Check out</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4146</span>,
|
||
<span className="font-semibold text-slate-100">Anita Desai</span>,
|
||
"Siemens",
|
||
"ME Local",
|
||
"Interview",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Interview</span>,
|
||
"—",
|
||
"—",
|
||
<StatusBadge text="Expected" color="bg-blue-500/15 text-blue-400" />,
|
||
<Button className="text-emerald-400 font-semibold hover:text-emerald-300">Check in</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4147</span>,
|
||
<span className="font-semibold text-slate-100">Karthik R.</span>,
|
||
"Schindler",
|
||
"Site FM Lead",
|
||
"Client meeting",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Guest</span>,
|
||
"08:05",
|
||
"10:40",
|
||
<StatusBadge text="Checked-Out" color="bg-slate-700 text-slate-400" />,
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4148</span>,
|
||
<span className="font-semibold text-slate-100">Priya Nair</span>,
|
||
"Amazon Logistics",
|
||
"Estates Office",
|
||
"Material delivery",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Delivery</span>,
|
||
"—",
|
||
"—",
|
||
<StatusBadge text="Pre-Reg" color="bg-yellow-500/15 text-yellow-400" />,
|
||
<Button className="text-emerald-400 font-semibold hover:text-emerald-300">Check in</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4149</span>,
|
||
<span className="font-semibold text-slate-100">Imran Q.</span>,
|
||
"FreshMenu",
|
||
"TECH Local",
|
||
"AMC service",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Contractor</span>,
|
||
"10:30",
|
||
"—",
|
||
<StatusBadge text="Checked-In" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<Button className="text-teal-400 font-semibold hover:text-teal-300">Check out</Button>,
|
||
],
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4145</span>,
|
||
<span className="font-semibold text-slate-100">Rahul Mehta</span>,
|
||
"Voltas Ltd",
|
||
"Dhananjay T.",
|
||
"Maintenance visit",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Contractor</span>,
|
||
"09:12",
|
||
"—",
|
||
<StatusBadge text="Checked-In" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<Button className="text-teal-400 font-semibold hover:text-teal-300">Check out</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4146</span>,
|
||
<span className="font-semibold text-slate-100">Anita Desai</span>,
|
||
"Siemens",
|
||
"ME Local",
|
||
"Interview",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Interview</span>,
|
||
"—",
|
||
"—",
|
||
<StatusBadge text="Expected" color="bg-blue-500/15 text-blue-400" />,
|
||
<Button className="text-emerald-400 font-semibold hover:text-emerald-300">Check in</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4147</span>,
|
||
<span className="font-semibold text-slate-100">Karthik R.</span>,
|
||
"Schindler",
|
||
"Site FM Lead",
|
||
"Client meeting",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Guest</span>,
|
||
"08:05",
|
||
"10:40",
|
||
<StatusBadge text="Checked-Out" color="bg-slate-700 text-slate-400" />,
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4148</span>,
|
||
<span className="font-semibold text-slate-100">Priya Nair</span>,
|
||
"Amazon Logistics",
|
||
"Estates Office",
|
||
"Material delivery",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Delivery</span>,
|
||
"—",
|
||
"—",
|
||
<StatusBadge text="Pre-Reg" color="bg-yellow-500/15 text-yellow-400" />,
|
||
<Button className="text-emerald-400 font-semibold hover:text-emerald-300">Check in</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">VIS-4149</span>,
|
||
<span className="font-semibold text-slate-100">Imran Q.</span>,
|
||
"FreshMenu",
|
||
"TECH Local",
|
||
"AMC service",
|
||
<span className="px-3 py-1 rounded-lg bg-slate-900 border border-slate-700 text-xs">Contractor</span>,
|
||
"10:30",
|
||
"—",
|
||
<StatusBadge text="Checked-In" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<Button className="text-teal-400 font-semibold hover:text-teal-300">Check out</Button>,
|
||
],
|
||
];
|
||
|
||
//Request page in operations
|
||
|
||
|
||
|
||
export const requestheaders = [
|
||
"Request No.",
|
||
"Department",
|
||
"Issue",
|
||
"Location",
|
||
"Assignee",
|
||
"Source",
|
||
"Status",
|
||
];
|
||
export const requestrows = [
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1009</span>,
|
||
"Electrical",
|
||
"Lighting out",
|
||
"Block 1 · G",
|
||
"ME Local",
|
||
<span className="font-mono">Line</span>,
|
||
<StatusBadge
|
||
text="Overdue"
|
||
color="bg-red-500/15 text-red-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1016</span>,
|
||
"HVAC",
|
||
"AHU not cooling",
|
||
"Lobby · 1",
|
||
"Dhananjay T.",
|
||
<span className="font-mono">Walk-in</span>,
|
||
<StatusBadge
|
||
text="Registered"
|
||
color="bg-blue-500/15 text-blue-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1023</span>,
|
||
"HVAC",
|
||
"Thermostat fault",
|
||
"Block 1 · 1",
|
||
"ME Local",
|
||
<span className="font-mono">Mobile app</span>,
|
||
<StatusBadge
|
||
text="Assigned"
|
||
color="bg-blue-500/15 text-blue-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1030</span>,
|
||
"HVAC",
|
||
"Thermostat fault",
|
||
"Block 1 · 1",
|
||
"Dhananjay T.",
|
||
<span className="font-mono">Mobile app</span>,
|
||
<StatusBadge
|
||
text="Working"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1037</span>,
|
||
"Civil",
|
||
"Glass break",
|
||
"Block 1 · 1",
|
||
"Local Helpdesk",
|
||
<span className="font-mono">Walk-in</span>,
|
||
<StatusBadge
|
||
text="Completed"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1044</span>,
|
||
"HVAC",
|
||
"Chiller alarm",
|
||
"Block 1 · 1",
|
||
"Dhananjay T.",
|
||
<span className="font-mono">Mobile app</span>,
|
||
<StatusBadge
|
||
text="Overdue"
|
||
color="bg-red-500/15 text-red-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1051</span>,
|
||
"Plumbing",
|
||
"Water leakage",
|
||
"Lobby · 1",
|
||
"Local Helpdesk",
|
||
<span className="font-mono">Walk-in</span>,
|
||
<StatusBadge
|
||
text="Registered"
|
||
color="bg-blue-500/15 text-blue-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1058</span>,
|
||
"Civil",
|
||
"Glass break",
|
||
"Block 2 · 2",
|
||
"Dhananjay T.",
|
||
<span className="font-mono">Walk-in</span>,
|
||
<StatusBadge
|
||
text="Assigned"
|
||
color="bg-blue-500/15 text-blue-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1065</span>,
|
||
"Civil",
|
||
"Ceiling crack",
|
||
"Lobby · G",
|
||
"ME Local",
|
||
<span className="font-mono">Line</span>,
|
||
<StatusBadge
|
||
text="Working"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1072</span>,
|
||
"Plumbing",
|
||
"Water leakage",
|
||
"Block 2 · G",
|
||
"TECH Local",
|
||
<span className="font-mono">Line</span>,
|
||
<StatusBadge
|
||
text="Completed"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1079</span>,
|
||
"Electrical",
|
||
"DB switch fault",
|
||
"Tower A · 1",
|
||
"TECH Local",
|
||
<span className="font-mono">Mobile app</span>,
|
||
<StatusBadge
|
||
text="Overdue"
|
||
color="bg-red-500/15 text-red-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">TFM/AP/2026/1086</span>,
|
||
"HVAC",
|
||
"AHU not cooling",
|
||
"Lobby · 3",
|
||
"TECH Local",
|
||
<span className="font-mono">Walk-in</span>,
|
||
<StatusBadge
|
||
text="Registered"
|
||
color="bg-blue-500/15 text-blue-400"
|
||
/>,
|
||
],
|
||
];
|
||
|
||
|
||
|
||
//helpdesk in page
|
||
|
||
export const helpdeskheaders = [
|
||
"",
|
||
"Block",
|
||
"Floor",
|
||
"Zone",
|
||
"Department",
|
||
"Location",
|
||
"Window",
|
||
"TAT",
|
||
"Sched.",
|
||
"Approval",
|
||
"Status",
|
||
"Actions",
|
||
];
|
||
|
||
const checkbox = (
|
||
<input
|
||
type="checkbox"
|
||
className="h-4 w-4 appearance-none rounded border border-slate-600 bg-slate-700 checked:bg-slate-500 checked:border-slate-500 cursor-pointer"
|
||
/>
|
||
);
|
||
|
||
export const helpdeskrows = [
|
||
[
|
||
checkbox,
|
||
"Block 2",
|
||
"1",
|
||
"Z2",
|
||
"HVAC",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Parking P1</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">01:56–18:00</span>,
|
||
"60m",
|
||
"4",
|
||
<span className="text-emerald-400 font-semibold whitespace-nowrap">✓ Yes</span>,
|
||
<StatusBadge
|
||
text="Inactive"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 1",
|
||
"2",
|
||
"Z1",
|
||
"Inspection work",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Cafeteria</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">01:56–23:59</span>,
|
||
"360m",
|
||
"6",
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 2",
|
||
"G",
|
||
"N",
|
||
"Inspection work",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Main lobby</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–23:59</span>,
|
||
"360m",
|
||
"4",
|
||
<span className="text-emerald-400 font-semibold whitespace-nowrap">✓ Yes</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 1",
|
||
"2",
|
||
"Z2",
|
||
"Electrical",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Reception</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–18:00</span>,
|
||
"360m",
|
||
"4",
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="Inactive"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 2",
|
||
"3",
|
||
"Z1",
|
||
"Housekeeping",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Cafeteria</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–18:00</span>,
|
||
"20m",
|
||
"8",
|
||
<span className="text-emerald-400 font-semibold whitespace-nowrap">✓ Yes</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 1",
|
||
"3",
|
||
"Z1",
|
||
"Electrical",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Food court</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–17:30</span>,
|
||
"20m",
|
||
"8",
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 2",
|
||
"1",
|
||
"Z2",
|
||
"HVAC",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Parking P1</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">01:56–18:00</span>,
|
||
"60m",
|
||
"4",
|
||
<span className="text-emerald-400 font-semibold whitespace-nowrap">✓ Yes</span>,
|
||
<StatusBadge
|
||
text="Inactive"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 1",
|
||
"2",
|
||
"Z1",
|
||
"Inspection work",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Cafeteria</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">01:56–23:59</span>,
|
||
"360m",
|
||
"6",
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 2",
|
||
"G",
|
||
"N",
|
||
"Inspection work",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Main lobby</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–23:59</span>,
|
||
"360m",
|
||
"4",
|
||
<span className="text-emerald-400 font-semibold whitespace-nowrap">✓ Yes</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons/>,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 1",
|
||
"2",
|
||
"Z2",
|
||
"Electrical",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Reception</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–18:00</span>,
|
||
"360m",
|
||
"4",
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="Inactive"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 2",
|
||
"3",
|
||
"Z1",
|
||
"Housekeeping",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Cafeteria</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–18:00</span>,
|
||
"20m",
|
||
"8",
|
||
<span className="text-emerald-400 font-semibold whitespace-nowrap">✓ Yes</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
checkbox,
|
||
"Block 1",
|
||
"3",
|
||
"Z1",
|
||
"Electrical",
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Food court</span>,
|
||
<span className="font-mono text-xs whitespace-nowrap">08:00–17:30</span>,
|
||
"20m",
|
||
"8",
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<ActionButtons />,
|
||
],
|
||
];
|
||
|
||
//Equipment Page in operations
|
||
export const equipmentheaders = [
|
||
"Code",
|
||
"Equipment",
|
||
"Group",
|
||
"Block · Floor",
|
||
"Service Provider",
|
||
"Criticality",
|
||
"PPM Status",
|
||
"Actions",
|
||
];
|
||
|
||
|
||
export const equipmentrows = [
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1100</span>,
|
||
<span className="font-bold text-slate-100">Cooling Tower</span>,
|
||
"Electrical",
|
||
"Block 1 · 2",
|
||
"Blue Star",
|
||
"Important",
|
||
<StatusBadge text="Working" color="bg-amber-950/60 text-amber-400 border border-amber-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1103</span>,
|
||
<span className="font-bold text-slate-100">Air Handling Unit</span>,
|
||
"Plumbing",
|
||
"Tower A · 1",
|
||
"Blue Star",
|
||
<StatusBadge text="Critical" color="bg-rose-950/60 text-rose-400 border border-rose-800/30" />,
|
||
<StatusBadge text="Completed" color="bg-emerald-950/60 text-emerald-400 border border-emerald-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1106</span>,
|
||
<span className="font-bold text-slate-100">VRV Outdoor</span>,
|
||
"Electrical",
|
||
"Tower A · G",
|
||
"Voltas",
|
||
<StatusBadge text="Critical" color="bg-rose-950/60 text-rose-400 border border-rose-800/30" />,
|
||
<StatusBadge text="Completed" color="bg-emerald-950/60 text-emerald-400 border border-emerald-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1109</span>,
|
||
<span className="font-bold text-slate-100">VRV Outdoor</span>,
|
||
"HVAC",
|
||
"Tower A · 1",
|
||
"Voltas",
|
||
"Normal",
|
||
<StatusBadge text="Overdue" color="bg-rose-950/60 text-rose-400 border border-rose-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1112</span>,
|
||
<span className="font-bold text-slate-100">Air Handling Unit</span>,
|
||
"HVAC",
|
||
"Tower A · G",
|
||
"In-house",
|
||
<StatusBadge text="Critical" color="bg-rose-950/60 text-rose-400 border border-rose-800/30" />,
|
||
<StatusBadge text="Completed" color="bg-emerald-950/60 text-emerald-400 border border-emerald-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1115</span>,
|
||
<span className="font-bold text-slate-100">Air Handling Unit</span>,
|
||
"Electrical",
|
||
"Tower A · 2",
|
||
"Voltas",
|
||
<StatusBadge text="Critical" color="bg-rose-950/60 text-rose-400 border border-rose-800/30" />,
|
||
<StatusBadge text="Completed" color="bg-emerald-950/60 text-emerald-400 border border-emerald-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1118</span>,
|
||
<span className="font-bold text-slate-100">Chiller</span>,
|
||
"Electrical",
|
||
"Block 1 · 1",
|
||
"In-house",
|
||
"Important",
|
||
<StatusBadge text="Overdue" color="bg-rose-950/60 text-rose-400 border border-rose-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-teal-400">APP-1121</span>,
|
||
<span className="font-bold text-slate-100">Cooling Tower</span>,
|
||
"Plumbing",
|
||
"Tower A · 1",
|
||
"Blue Star",
|
||
"Normal",
|
||
<StatusBadge text="Completed" color="bg-emerald-950/60 text-emerald-400 border border-emerald-800/30" />,
|
||
<ActionButtons />,
|
||
],
|
||
];
|
||
|
||
|
||
// Energy page in Operartions
|
||
export const meterHeaders = [
|
||
"Meter",
|
||
"Name",
|
||
"Location",
|
||
"Type",
|
||
"MF",
|
||
"",
|
||
];
|
||
|
||
export const meterRows = [
|
||
[
|
||
<span className="font-semibold text-teal-400">MTR-1</span>,
|
||
<span className="font-semibold text-slate-100">Electricity main 1</span>,
|
||
"Block riser",
|
||
"Electricity",
|
||
"10",
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Reading
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
QR
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">MTR-2</span>,
|
||
<span className="font-semibold text-slate-100">Water main 2</span>,
|
||
"Block riser",
|
||
"Water",
|
||
"100",
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Reading
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
QR
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">MTR-3</span>,
|
||
<span className="font-semibold text-slate-100">Diesel main 3</span>,
|
||
"Block riser",
|
||
"Diesel",
|
||
"10",
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Reading
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
QR
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">MTR-4</span>,
|
||
<span className="font-semibold text-slate-100">Electricity main 4</span>,
|
||
"Block riser",
|
||
"Electricity",
|
||
"1",
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Reading
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
QR
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">MTR-5</span>,
|
||
<span className="font-semibold text-slate-100">Water main 5</span>,
|
||
"Block riser",
|
||
"Water",
|
||
"10",
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Reading
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
QR
|
||
</Button>
|
||
</div>,
|
||
],
|
||
];
|
||
|
||
export const readingHeaders = [
|
||
"Meter",
|
||
"Prev",
|
||
"Current",
|
||
"Cons.",
|
||
"UOM",
|
||
];
|
||
|
||
export const readingRows = [
|
||
[
|
||
"MTR-1",
|
||
"40.00",
|
||
"58.00",
|
||
<span className="font-semibold text-teal-400">180.0</span>,
|
||
<span className="font-semibold">kWh</span>,
|
||
],
|
||
|
||
[
|
||
"MTR-2",
|
||
"49.00",
|
||
"69.00",
|
||
<span className="font-semibold text-teal-400">2000.0</span>,
|
||
<span className="font-semibold">kL</span>,
|
||
],
|
||
|
||
[
|
||
"MTR-3",
|
||
"58.00",
|
||
"80.00",
|
||
<span className="font-semibold text-teal-400">220.0</span>,
|
||
<span className="font-semibold">L</span>,
|
||
],
|
||
|
||
[
|
||
"MTR-4",
|
||
"67.00",
|
||
"91.00",
|
||
<span className="font-semibold text-teal-400">24.0</span>,
|
||
<span className="font-semibold">kWh</span>,
|
||
],
|
||
|
||
[
|
||
"MTR-5",
|
||
"76.00",
|
||
"102.00",
|
||
<span className="font-semibold text-teal-400">260.0</span>,
|
||
<span className="font-semibold">kL</span>,
|
||
],
|
||
];
|
||
//Report page in Insight
|
||
export const reportheaders = [
|
||
"Code",
|
||
"Equipment",
|
||
"Group",
|
||
"Block · Floor",
|
||
"Service Provider",
|
||
"Manufacturer",
|
||
"Model",
|
||
];
|
||
|
||
export const reportrows = [
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1100</span>,
|
||
<span className="font-semibold whitespace-nowrap">Cooling Tower</span>,
|
||
"Electrical",
|
||
"Block 1 · 2",
|
||
"Blue Star",
|
||
"Kirloskar",
|
||
<span className="font-mono text-slate-400">M-550</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1103</span>,
|
||
<span className="font-semibold whitespace-nowrap">Air Handling Unit</span>,
|
||
"Plumbing",
|
||
"Tower A · 1",
|
||
"Blue Star",
|
||
"Voltas",
|
||
<span className="font-mono text-slate-400">M-550</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1106</span>,
|
||
<span className="font-semibold whitespace-nowrap">VRV Outdoor</span>,
|
||
"Electrical",
|
||
"Tower A · G",
|
||
"Voltas",
|
||
"Daikin",
|
||
<span className="font-mono text-slate-400">M-320</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1109</span>,
|
||
<span className="font-semibold whitespace-nowrap">VRV Outdoor</span>,
|
||
"HVAC",
|
||
"Tower A · 1",
|
||
"Voltas",
|
||
"Blue Star",
|
||
<span className="font-mono text-slate-400">M-320</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1112</span>,
|
||
<span className="font-semibold whitespace-nowrap">Air Handling Unit</span>,
|
||
"HVAC",
|
||
"Tower A · G",
|
||
"In-house",
|
||
"Voltas",
|
||
<span className="font-mono text-slate-400">M-550</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1115</span>,
|
||
<span className="font-semibold whitespace-nowrap">Air Handling Unit</span>,
|
||
"Electrical",
|
||
"Tower A · 2",
|
||
"Voltas",
|
||
"Daikin",
|
||
<span className="font-mono text-slate-400">M-XR9</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1118</span>,
|
||
<span className="font-semibold whitespace-nowrap">Chiller</span>,
|
||
"Electrical",
|
||
"Block 1 · 1",
|
||
"In-house",
|
||
"Blue Star",
|
||
<span className="font-mono text-slate-400">M-XR9</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">APP-1121</span>,
|
||
<span className="font-semibold whitespace-nowrap">Cooling Tower</span>,
|
||
"Plumbing",
|
||
"Tower A · 1",
|
||
"Blue Star",
|
||
"Daikin",
|
||
<span className="font-mono text-slate-400">M-550</span>,
|
||
],
|
||
];
|
||
|
||
|
||
//Cost Invoice Page
|
||
const CostActionButton = ({ text }: { text: string }) => (
|
||
<Button className="rounded-lg border border-slate-700/60 bg-[#16243a] px-3 py-1.5 text-sm font-semibold text-slate-300 hover:bg-slate-700 transition">
|
||
{text}
|
||
</Button>
|
||
);
|
||
|
||
export const costInvoiceheaders = [
|
||
"Invoice",
|
||
"Client",
|
||
"Period",
|
||
"Amount",
|
||
"Raised",
|
||
"Due",
|
||
"Status",
|
||
"",
|
||
];
|
||
|
||
export const costInvoicerows = [
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9040</span>,
|
||
<span className="font-semibold text-slate-100">Apple One Corp</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹12.4 L</span>,
|
||
<span className="font-mono">Jun 5, 2026</span>,
|
||
<span className="font-mono">Jul 5, 2026</span>,
|
||
<StatusBadge
|
||
text="Paid"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9041</span>,
|
||
<span className="font-semibold text-slate-100">Novotel F&B</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹8.6 L</span>,
|
||
<span className="font-mono">Jun 9, 2026</span>,
|
||
<span className="font-mono">Jul 9, 2026</span>,
|
||
<StatusBadge
|
||
text="Sent"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<CostActionButton text="Mark paid" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9042</span>,
|
||
<span className="font-semibold text-slate-100">SRM Estates</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹4.3 L</span>,
|
||
<span className="font-mono">Jun 13, 2026</span>,
|
||
<span className="font-mono">Jul 13, 2026</span>,
|
||
<StatusBadge
|
||
text="Overdue"
|
||
color="bg-red-500/15 text-red-400"
|
||
/>,
|
||
<CostActionButton text="Mark paid" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9043</span>,
|
||
<span className="font-semibold text-slate-100">Local Mart</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹21.0 L</span>,
|
||
<span className="font-mono">Jun 17, 2026</span>,
|
||
<span className="font-mono">Jul 17, 2026</span>,
|
||
<StatusBadge
|
||
text="Paid"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9044</span>,
|
||
<span className="font-semibold text-slate-100">Regus Spaces</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹6.8 L</span>,
|
||
<span className="font-mono">Jun 21, 2026</span>,
|
||
<span className="font-mono">Jul 21, 2026</span>,
|
||
<StatusBadge
|
||
text="Draft"
|
||
color="bg-slate-700/60 text-slate-400"
|
||
/>,
|
||
<CostActionButton text="Send" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9105</span>,
|
||
<span className="font-semibold text-slate-100">Apple One Corp</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹12.4 L</span>,
|
||
<span className="font-mono">Jun 5, 2026</span>,
|
||
<span className="font-mono">Jul 5, 2026</span>,
|
||
<StatusBadge
|
||
text="Sent"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<CostActionButton text="Mark paid" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9106</span>,
|
||
<span className="font-semibold text-slate-100">Novotel F&B</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹8.6 L</span>,
|
||
<span className="font-mono">Jun 9, 2026</span>,
|
||
<span className="font-mono">Jul 9, 2026</span>,
|
||
<StatusBadge
|
||
text="Draft"
|
||
color="bg-slate-700/60 text-slate-400"
|
||
/>,
|
||
<CostActionButton text="Send" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9107</span>,
|
||
<span className="font-semibold text-slate-100">SRM Estates</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹4.3 L</span>,
|
||
<span className="font-mono">Jun 13, 2026</span>,
|
||
<span className="font-mono">Jul 13, 2026</span>,
|
||
<StatusBadge
|
||
text="Draft"
|
||
color="bg-slate-700/60 text-slate-400"
|
||
/>,
|
||
<CostActionButton text="Send" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9108</span>,
|
||
<span className="font-semibold text-slate-100">Local Mart</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹21.0 L</span>,
|
||
<span className="font-mono">Jun 17, 2026</span>,
|
||
<span className="font-mono">Jul 17, 2026</span>,
|
||
<StatusBadge
|
||
text="Paid"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9107</span>,
|
||
<span className="font-semibold text-slate-100">SRM Estates</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹4.3 L</span>,
|
||
<span className="font-mono">Jun 13, 2026</span>,
|
||
<span className="font-mono">Jul 13, 2026</span>,
|
||
<StatusBadge
|
||
text="Draft"
|
||
color="bg-slate-700/60 text-slate-400"
|
||
/>,
|
||
<CostActionButton text="Send" />,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-[#2EE6C5]">INV-9108</span>,
|
||
<span className="font-semibold text-slate-100">Local Mart</span>,
|
||
"Jun 2026",
|
||
<span className="font-semibold">₹21.0 L</span>,
|
||
<span className="font-mono">Jun 17, 2026</span>,
|
||
<span className="font-mono">Jul 17, 2026</span>,
|
||
<StatusBadge
|
||
text="Paid"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<span className="text-slate-500">—</span>,
|
||
],
|
||
];
|
||
|
||
|
||
//Training Page
|
||
|
||
export const trainingheaders = [
|
||
"Course",
|
||
"Type",
|
||
"Completed",
|
||
"Progress",
|
||
"Renewal",
|
||
"Status",
|
||
"",
|
||
];
|
||
|
||
export const trainingrows = [
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Fire safety & evacuation
|
||
</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 text-xs font-mono text-slate-300">
|
||
Mandatory
|
||
</span>,
|
||
"44/48",
|
||
<div className="w-44">
|
||
<div className="h-2 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[88%] rounded-full bg-teal-400" />
|
||
</div>
|
||
</div>,
|
||
<span className="font-mono">Annual</span>,
|
||
<StatusBadge
|
||
text="Compliant"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Mark complete
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Working at height
|
||
</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 text-xs font-mono text-slate-300">
|
||
Mandatory
|
||
</span>,
|
||
"12/16",
|
||
<div className="w-44">
|
||
<div className="h-2 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[75%] rounded-full bg-teal-400" />
|
||
</div>
|
||
</div>,
|
||
<span className="font-mono">2 years</span>,
|
||
<StatusBadge
|
||
text="Due"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Mark complete
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Electrical LOTO
|
||
</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 text-xs font-mono text-slate-300">
|
||
Mandatory
|
||
</span>,
|
||
"12/12",
|
||
<div className="w-44">
|
||
<div className="h-2 rounded-full bg-slate-700">
|
||
<div className="h-2 w-full rounded-full bg-emerald-400" />
|
||
</div>
|
||
</div>,
|
||
<span className="font-mono">2 years</span>,
|
||
<StatusBadge
|
||
text="Certified"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Certificate
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
First aid & CPR
|
||
</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 text-xs font-mono text-slate-300">
|
||
Optional
|
||
</span>,
|
||
"9/20",
|
||
<div className="w-44">
|
||
<div className="h-2 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[45%] rounded-full bg-amber-400" />
|
||
</div>
|
||
</div>,
|
||
<span className="font-mono">3 years</span>,
|
||
<StatusBadge
|
||
text="Due"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Mark complete
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
New-joiner onboarding
|
||
</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 text-xs font-mono text-slate-300">
|
||
Onboarding
|
||
</span>,
|
||
"5/6",
|
||
<div className="w-44">
|
||
<div className="h-2 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[83%] rounded-full bg-teal-400" />
|
||
</div>
|
||
</div>,
|
||
<span className="font-mono">—</span>,
|
||
<StatusBadge
|
||
text="Compliant"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Mark complete
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
ISO 41001 awareness
|
||
</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 text-xs font-mono text-slate-300">
|
||
Optional
|
||
</span>,
|
||
"21/30",
|
||
<div className="w-44">
|
||
<div className="h-2 rounded-full bg-slate-700">
|
||
<div className="h-2 w-[65%] rounded-full bg-amber-400" />
|
||
</div>
|
||
</div>,
|
||
<span className="font-mono">—</span>,
|
||
<StatusBadge
|
||
text="Due"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Mark complete
|
||
</Button>,
|
||
],
|
||
];
|
||
|
||
|
||
export const budgetPerformanceHeaders = [
|
||
"CATEGORY",
|
||
"TYPE",
|
||
"PLANNED",
|
||
"ACTUAL",
|
||
"VARIANCE",
|
||
"UTILIZATION",
|
||
];
|
||
|
||
export const budgetPerformanceRows = [
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
PPM & AMC contracts
|
||
</span>,
|
||
|
||
<span className="rounded-lg border border-slate-700 bg-[#0b1626] px-3 py-1 text-xs font-semibold text-slate-300">
|
||
OPEX
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹48.0 L</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹31.2 L</span>,
|
||
|
||
<span className="font-bold text-emerald-400">+₹16.8 L</span>,
|
||
|
||
<div className="w-36">
|
||
<div className="h-2 rounded-full bg-slate-800">
|
||
<div className="h-2 w-[65%] rounded-full bg-teal-400"></div>
|
||
</div>
|
||
<span className="mt-1 block text-xs text-slate-500">65%</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Reactive repairs
|
||
</span>,
|
||
|
||
<span className="rounded-lg border border-slate-700 bg-[#0b1626] px-3 py-1 text-xs font-semibold text-slate-300">
|
||
OPEX
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹15.0 L</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹16.8 L</span>,
|
||
|
||
<span className="font-bold text-rose-400">−₹1.8 L</span>,
|
||
|
||
<div className="w-36">
|
||
<div className="h-2 rounded-full bg-slate-800">
|
||
<div className="h-2 w-full rounded-full bg-rose-400"></div>
|
||
</div>
|
||
<span className="mt-1 block text-xs text-slate-500">112%</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Energy & utilities
|
||
</span>,
|
||
|
||
<span className="rounded-lg border border-slate-700 bg-[#0b1626] px-3 py-1 text-xs font-semibold text-slate-300">
|
||
OPEX
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹62.0 L</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹54.1 L</span>,
|
||
|
||
<span className="font-bold text-emerald-400">+₹7.9 L</span>,
|
||
|
||
<div className="w-36">
|
||
<div className="h-2 rounded-full bg-slate-800">
|
||
<div className="h-2 w-[87%] rounded-full bg-teal-400"></div>
|
||
</div>
|
||
<span className="mt-1 block text-xs text-slate-500">87%</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Consumables & spares
|
||
</span>,
|
||
|
||
<span className="rounded-lg border border-slate-700 bg-[#0b1626] px-3 py-1 text-xs font-semibold text-slate-300">
|
||
OPEX
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹9.0 L</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹7.4 L</span>,
|
||
|
||
<span className="font-bold text-emerald-400">+₹1.6 L</span>,
|
||
|
||
<div className="w-36">
|
||
<div className="h-2 rounded-full bg-slate-800">
|
||
<div className="h-2 w-[82%] rounded-full bg-teal-400"></div>
|
||
</div>
|
||
<span className="mt-1 block text-xs text-slate-500">82%</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Equipment upgrades
|
||
</span>,
|
||
|
||
<span className="rounded-lg border border-slate-700 bg-[#0b1626] px-3 py-1 text-xs font-semibold text-slate-300">
|
||
CAPEX
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹35.0 L</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹12.0 L</span>,
|
||
|
||
<span className="font-bold text-emerald-400">+₹23.0 L</span>,
|
||
|
||
<div className="w-36">
|
||
<div className="h-2 rounded-full bg-slate-800">
|
||
<div className="h-2 w-[34%] rounded-full bg-teal-400"></div>
|
||
</div>
|
||
<span className="mt-1 block text-xs text-slate-500">34%</span>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-bold text-slate-100">
|
||
Soft services
|
||
</span>,
|
||
|
||
<span className="rounded-lg border border-slate-700 bg-[#0b1626] px-3 py-1 text-xs font-semibold text-slate-300">
|
||
OPEX
|
||
</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹22.0 L</span>,
|
||
|
||
<span className="font-mono text-slate-200">₹20.5 L</span>,
|
||
|
||
<span className="font-bold text-emerald-400">+₹1.5 L</span>,
|
||
|
||
<div className="w-36">
|
||
<div className="h-2 rounded-full bg-slate-800">
|
||
<div className="h-2 w-[93%] rounded-full bg-amber-400"></div>
|
||
</div>
|
||
<span className="mt-1 block text-xs text-slate-500">93%</span>
|
||
</div>,
|
||
],
|
||
];
|
||
|
||
|
||
|
||
export const trustedDeviceHeaders = [
|
||
"USER",
|
||
"DEVICE",
|
||
"IP",
|
||
"LAST SEEN",
|
||
"EXPIRES",
|
||
"STATUS",
|
||
"ACTIONS",
|
||
];
|
||
|
||
export const trustedDeviceRows = [
|
||
[
|
||
<span className="font-semibold text-white">Dhananjay T.</span>,
|
||
"Chrome 126 · Windows 11",
|
||
<span className="font-mono">103.212.14.8</span>,
|
||
<span className="font-mono">Today, 08:12</span>,
|
||
<span className="font-mono">Jul 30, 2026</span>,
|
||
<StatusBadge
|
||
text="TRUSTED"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/80 bg-slate-800/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 transition-colors">
|
||
Revoke
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-white">Kavya Raghunathan</span>,
|
||
"Safari 18 · macOS",
|
||
<span className="font-mono">49.37.201.55</span>,
|
||
<span className="font-mono">Yesterday, 17:40</span>,
|
||
<span className="font-mono">Jul 21, 2026</span>,
|
||
<StatusBadge
|
||
text="TRUSTED"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/80 bg-slate-800/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 transition-colors">
|
||
Revoke
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-white">Rahul Iyer</span>,
|
||
"KAFM Mobile · Android 15",
|
||
<span className="font-mono">152.58.33.104</span>,
|
||
<span className="font-mono">Today, 06:58</span>,
|
||
<span className="font-mono">Jul 12, 2026</span>,
|
||
<StatusBadge
|
||
text="TRUSTED"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700/80 bg-slate-800/40 px-3 py-1 text-xs text-slate-300 hover:bg-slate-800 transition-colors">
|
||
Revoke
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-white">Meera Pillai</span>,
|
||
"Edge 126 · Windows 10",
|
||
<span className="font-mono">103.212.14.31</span>,
|
||
<span className="font-mono">Jun 18, 2026</span>,
|
||
<span className="font-mono text-slate-400">Expired</span>,
|
||
<StatusBadge
|
||
text="REVOKED"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<span className="text-slate-500 text-center">—</span>,
|
||
],
|
||
];
|
||
|
||
export const auditLogHeaders = [
|
||
"WHEN",
|
||
"USER",
|
||
"EVENT",
|
||
"IP",
|
||
"RESULT",
|
||
];
|
||
|
||
export const auditLogRows = [
|
||
[
|
||
<span className="font-mono text-slate-300">Today 08:12</span>,
|
||
<span className="font-mono text-slate-300">dhananjay@kafm.io</span>,
|
||
<span className="text-slate-200">Sign-in · password + MFA</span>,
|
||
<span className="font-mono text-slate-300">103.212.14.8</span>,
|
||
<StatusBadge
|
||
text="OK"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-mono text-slate-300">Today 07:56</span>,
|
||
<span className="font-mono text-slate-300">kavya@kafm.io</span>,
|
||
<span className="text-slate-200">
|
||
Role changed · Technician → M&E Supervisor
|
||
</span>,
|
||
<span className="font-mono text-slate-300">49.37.201.55</span>,
|
||
<StatusBadge
|
||
text="OK"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-mono text-slate-300">Today 07:31</span>,
|
||
<span className="font-mono text-slate-300">unknown@ext.net</span>,
|
||
<span className="text-slate-200">
|
||
Sign-in · wrong password (3rd attempt)
|
||
</span>,
|
||
<span className="font-mono text-slate-300">91.240.118.7</span>,
|
||
<StatusBadge
|
||
text="FAILED"
|
||
color="bg-rose-500/15 text-rose-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-mono text-slate-300">Today 06:58</span>,
|
||
<span className="font-mono text-slate-300">rahul@kafm.io</span>,
|
||
<span className="text-slate-200">
|
||
Device trusted · KAFM Mobile (30 days)
|
||
</span>,
|
||
<span className="font-mono text-slate-300">152.58.33.104</span>,
|
||
<StatusBadge
|
||
text="OK"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-mono text-slate-300">Yesterday 17:40</span>,
|
||
<span className="font-mono text-slate-300">kavya@kafm.io</span>,
|
||
<span className="text-slate-200">
|
||
Password reset · self-service link
|
||
</span>,
|
||
<span className="font-mono text-slate-300">49.37.201.55</span>,
|
||
<StatusBadge
|
||
text="OK"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-mono text-slate-300">Yesterday 14:05</span>,
|
||
<span className="font-mono text-slate-300">meera@kafm.io</span>,
|
||
<span className="text-slate-200">
|
||
MFA reset by admin · device revoked
|
||
</span>,
|
||
<span className="font-mono text-slate-300">103.212.14.31</span>,
|
||
<StatusBadge
|
||
text="PENDING"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
],
|
||
|
||
[
|
||
<span className="font-mono text-slate-300">Jun 30 09:12</span>,
|
||
<span className="font-mono text-slate-300">admin@kafm.io</span>,
|
||
<span className="text-slate-200">
|
||
Sign-in policy updated · idle timeout 30 min
|
||
</span>,
|
||
<span className="font-mono text-slate-300">103.212.14.8</span>,
|
||
<StatusBadge
|
||
text="OK"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
],
|
||
];
|
||
|
||
|
||
//Statutory Compliance Page
|
||
export const statutoryheaders = [
|
||
"Obligation",
|
||
"Category",
|
||
"Authority",
|
||
"Site",
|
||
"Expiry",
|
||
"Expires In",
|
||
"Docs",
|
||
"Status",
|
||
"Actions",
|
||
];
|
||
|
||
export const statutoryrows = [
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Fire NOC</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Statutory · Fire</span>,
|
||
"Fire Dept.",
|
||
"HQ Tower",
|
||
<span className="font-mono">Oct 1, 2026</span>,
|
||
<span className="font-semibold text-emerald-400">120 days</span>,
|
||
<span className="text-emerald-400 font-semibold">✓ 1</span>,
|
||
<StatusBadge text="Compliant" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100">Lift License</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Statutory · Lifts</span>,
|
||
"Inspectorate",
|
||
"HQ Tower",
|
||
<span className="font-mono">Oct 2, 2026</span>,
|
||
<span className="font-semibold text-red-400">24 days</span>,
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge text="Due" color="bg-amber-500/15 text-amber-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100">Pressure Vessel Cert (IBR)</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Statutory · Pressure</span>,
|
||
"Boiler Board",
|
||
"Plant",
|
||
<span className="font-mono">Jun 22, 2026</span>,
|
||
<span className="font-semibold text-red-500">Expired 8d</span>,
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge text="Expired" color="bg-red-500/15 text-red-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100">Pollution Consent (CTO)</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Environmental</span>,
|
||
"Pollution Board",
|
||
"Plant",
|
||
<span className="font-mono">Oct 4, 2026</span>,
|
||
<span className="font-semibold text-amber-400">75 days</span>,
|
||
<span className="text-emerald-400 font-semibold">✓ 1</span>,
|
||
<StatusBadge text="Compliant" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">Fire NOC</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Statutory · Fire</span>,
|
||
"Fire Dept.",
|
||
"HQ Tower",
|
||
<span className="font-mono">Oct 1, 2026</span>,
|
||
<span className="font-semibold text-emerald-400">120 days</span>,
|
||
<span className="text-emerald-400 font-semibold">✓ 1</span>,
|
||
<StatusBadge text="Compliant" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100">Lift License</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Statutory · Lifts</span>,
|
||
"Inspectorate",
|
||
"HQ Tower",
|
||
<span className="font-mono">Oct 2, 2026</span>,
|
||
<span className="font-semibold text-red-400">24 days</span>,
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge text="Due" color="bg-amber-500/15 text-amber-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100">Pressure Vessel Cert (IBR)</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Statutory · Pressure</span>,
|
||
"Boiler Board",
|
||
"Plant",
|
||
<span className="font-mono">Jun 22, 2026</span>,
|
||
<span className="font-semibold text-red-500">Expired 8d</span>,
|
||
<span className="text-slate-500">—</span>,
|
||
<StatusBadge text="Expired" color="bg-red-500/15 text-red-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
[
|
||
<span className="font-semibold text-slate-100">Pollution Consent (CTO)</span>,
|
||
<span className="rounded-md border border-slate-700 bg-slate-900 px-3 py-1 font-mono text-xs text-slate-300">Environmental</span>,
|
||
"Pollution Board",
|
||
"Plant",
|
||
<span className="font-mono">Oct 4, 2026</span>,
|
||
<span className="font-semibold text-amber-400">75 days</span>,
|
||
<span className="text-emerald-400 font-semibold">✓ 1</span>,
|
||
<StatusBadge text="Compliant" color="bg-emerald-500/15 text-emerald-400" />,
|
||
<ActionButtons />,
|
||
],
|
||
];
|
||
|
||
|
||
|
||
//Fire And Safety Page
|
||
|
||
export const firesafetyheaders = [
|
||
"Equipment",
|
||
"Location",
|
||
"Qty",
|
||
"Next Due",
|
||
"Status",
|
||
"",
|
||
];
|
||
|
||
export const firesafetyrows = [
|
||
[
|
||
<span className="font-semibold text-slate-100">
|
||
Fire extinguishers
|
||
<br />
|
||
(CO2/DCP)
|
||
</span>,
|
||
"All floors",
|
||
"84",
|
||
<span className="font-mono whitespace-nowrap">
|
||
Jul 14,
|
||
<br />
|
||
2026
|
||
</span>,
|
||
<StatusBadge
|
||
text="Compliant"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-lg border border-slate-700 px-4 py-1.5 text-slate-300 hover:bg-slate-800">
|
||
Re-inspect
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100">
|
||
Smoke & heat detectors
|
||
</span>,
|
||
"Plant + floors",
|
||
"212",
|
||
<span className="font-mono whitespace-nowrap">
|
||
Jun 30,
|
||
<br />
|
||
2026
|
||
</span>,
|
||
<StatusBadge
|
||
text="Due"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<Button className="rounded-lg border border-slate-700 px-4 py-1.5 text-slate-300 hover:bg-slate-800">
|
||
Inspect
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100">
|
||
Sprinkler system
|
||
</span>,
|
||
<span>
|
||
Basement +
|
||
<br />
|
||
atrium
|
||
</span>,
|
||
"1",
|
||
<span className="font-mono whitespace-nowrap">
|
||
Aug 02,
|
||
<br />
|
||
2026
|
||
</span>,
|
||
<StatusBadge
|
||
text="Compliant"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-lg border border-slate-700 px-4 py-1.5 text-slate-300 hover:bg-slate-800">
|
||
Re-inspect
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100">
|
||
Fire hydrants & hose reels
|
||
</span>,
|
||
"External + risers",
|
||
"18",
|
||
<span className="font-mono whitespace-nowrap">
|
||
Jun 28,
|
||
<br />
|
||
2026
|
||
</span>,
|
||
<StatusBadge
|
||
text="Due"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<Button className="rounded-lg border border-slate-700 px-4 py-1.5 text-slate-300 hover:bg-slate-800">
|
||
Inspect
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100">
|
||
Emergency lighting
|
||
</span>,
|
||
"Stairwells",
|
||
"46",
|
||
<span className="font-mono whitespace-nowrap">
|
||
Sep 10,
|
||
<br />
|
||
2026
|
||
</span>,
|
||
<StatusBadge
|
||
text="Compliant"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-lg border border-slate-700 bg-slate-900 px-4 py-1.5 text-slate-300 hover:bg-slate-800">
|
||
Re-inspect
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-slate-100">
|
||
Fire alarm panel
|
||
</span>,
|
||
"BMS room",
|
||
"2",
|
||
<span className="font-mono whitespace-nowrap">
|
||
Jul 01,
|
||
<br />
|
||
2026
|
||
</span>,
|
||
<StatusBadge
|
||
text="Compliant"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>,
|
||
<Button className="rounded-lg border border-slate-700 px-4 py-1.5 text-slate-300 hover:bg-slate-800">
|
||
Re-inspect
|
||
</Button>,
|
||
],
|
||
];
|
||
|
||
|
||
|
||
// Contracts page
|
||
export const contractheaders = [
|
||
"Contract",
|
||
"Vendor",
|
||
"Scope",
|
||
"Value",
|
||
"SLA",
|
||
"Scorecard",
|
||
"Expires",
|
||
"",
|
||
];
|
||
|
||
export const contractrows = [
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">CTR-700</span>,
|
||
<span className="font-semibold text-slate-100">Voltas Ltd</span>,
|
||
"HVAC AMC",
|
||
<span className="font-mono">₹24.0 L</span>,
|
||
<span className="font-semibold text-emerald-400">98%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★★★ <span className="text-slate-500">4.6</span></span>,
|
||
<span className="font-semibold text-emerald-400">120 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-701</span>,
|
||
<span className="font-semibold text-slate-100">Blue Star</span>,
|
||
"Elevator AMC",
|
||
<span className="font-mono">₹18.0 L</span>,
|
||
<span className="font-semibold text-amber-400">91%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★★☆ <span className="text-slate-500">4.1</span></span>,
|
||
<span className="font-semibold text-red-400">22 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Renew
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-702</span>,
|
||
<span className="font-semibold text-slate-100">Sterling FM</span>,
|
||
"Soft services",
|
||
<span className="font-mono">₹36.0 L</span>,
|
||
<span className="font-semibold text-red-400">86%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★☆☆ <span className="text-slate-500">3.4</span></span>,
|
||
<span className="font-semibold text-amber-400">75 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-703</span>,
|
||
<span className="font-semibold text-slate-100">OTIS Elevators</span>,
|
||
"DG maintenance",
|
||
<span className="font-mono">₹6.5 L</span>,
|
||
<span className="font-semibold text-red-400">79%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★☆☆ <span className="text-slate-500">2.9</span></span>,
|
||
<span className="font-semibold text-red-400">Expired</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Renew
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-704</span>,
|
||
<span className="font-semibold text-slate-100">Sodexo</span>,
|
||
"Security services",
|
||
<span className="font-mono">₹42.0 L</span>,
|
||
<span className="font-semibold text-emerald-400">99%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★★★ <span className="text-slate-500">4.8</span></span>,
|
||
<span className="font-semibold text-emerald-400">210 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-705</span>,
|
||
<span className="font-semibold text-slate-100">Securitas</span>,
|
||
"Pest control",
|
||
<span className="font-mono">₹4.2 L</span>,
|
||
<span className="font-semibold text-amber-400">94%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★★☆ <span className="text-slate-500">4.3</span></span>,
|
||
<span className="font-semibold text-amber-400">48 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-726</span>,
|
||
<span className="font-semibold text-slate-100">Voltas Ltd</span>,
|
||
"HVAC AMC",
|
||
<span className="font-mono">₹24.0 L</span>,
|
||
<span className="font-semibold text-emerald-400">98%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★★★ <span className="text-slate-500">4.6</span></span>,
|
||
<span className="font-semibold text-emerald-400">120 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-727</span>,
|
||
<span className="font-semibold text-slate-100">Blue Star</span>,
|
||
"Elevator AMC",
|
||
<span className="font-mono">₹18.0 L</span>,
|
||
<span className="font-semibold text-amber-400">91%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★★☆ <span className="text-slate-500">4.1</span></span>,
|
||
<span className="font-semibold text-red-400">22 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Renew
|
||
</Button>
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400">CTR-728</span>,
|
||
<span className="font-semibold text-slate-100">Sterling FM</span>,
|
||
"Soft services",
|
||
<span className="font-mono">₹36.0 L</span>,
|
||
<span className="font-semibold text-red-400">86%</span>,
|
||
<span className="whitespace-nowrap text-amber-400">★★★☆☆ <span className="text-slate-500">3.4</span></span>,
|
||
<span className="font-semibold text-amber-400">75 d</span>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-lg border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
View
|
||
</Button>
|
||
</div>,
|
||
],
|
||
];
|
||
|
||
|
||
// Audit ans Survey page
|
||
export const auditheaders = [
|
||
"Ref",
|
||
"Audit / Survey",
|
||
"Site",
|
||
"Score",
|
||
"Findings",
|
||
"Status",
|
||
"",
|
||
];
|
||
|
||
export const auditrows = [
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-301
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Safety walk
|
||
</span>,
|
||
"HQ Tower",
|
||
<span className="font-semibold text-emerald-400">92</span>,
|
||
"2",
|
||
<StatusBadge
|
||
text="Closed"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-302
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Housekeeping survey
|
||
</span>,
|
||
"HQ Tower",
|
||
<span className="font-semibold text-red-400">78</span>,
|
||
"5",
|
||
<StatusBadge
|
||
text="Open"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Findings
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-303
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
ISO 41001 internal
|
||
</span>,
|
||
"Annexe",
|
||
<span className="font-semibold text-amber-400">88</span>,
|
||
"3",
|
||
<StatusBadge
|
||
text="Open"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Findings
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-304
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Energy audit
|
||
</span>,
|
||
"Plant",
|
||
<span className="font-semibold text-amber-400">81</span>,
|
||
"4",
|
||
<StatusBadge
|
||
text="Closed"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-305
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Vendor SLA review
|
||
</span>,
|
||
"All sites",
|
||
<span className="font-semibold text-emerald-400">95</span>,
|
||
"1",
|
||
<StatusBadge
|
||
text="Closed"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-325
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Safety walk
|
||
</span>,
|
||
"HQ Tower",
|
||
<span className="font-semibold text-emerald-400">92</span>,
|
||
"2",
|
||
<StatusBadge
|
||
text="Open"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Findings
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-326
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Housekeeping survey
|
||
</span>,
|
||
"HQ Tower",
|
||
<span className="font-semibold text-red-400">78</span>,
|
||
"5",
|
||
<StatusBadge
|
||
text="Closed"
|
||
color="bg-slate-700/50 text-slate-400"
|
||
/>,
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-327
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
ISO 41001 internal
|
||
</span>,
|
||
"Annexe",
|
||
<span className="font-semibold text-amber-400">88</span>,
|
||
"3",
|
||
<StatusBadge
|
||
text="Open"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Findings
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>
|
||
</div>,
|
||
],
|
||
|
||
[
|
||
<span className="font-semibold text-teal-400 whitespace-nowrap">
|
||
AUD-328
|
||
</span>,
|
||
<span className="font-semibold text-slate-100 whitespace-nowrap">
|
||
Energy audit
|
||
</span>,
|
||
"Plant",
|
||
<span className="font-semibold text-amber-400">81</span>,
|
||
"4",
|
||
<StatusBadge
|
||
text="Open"
|
||
color="bg-amber-500/15 text-amber-400"
|
||
/>,
|
||
<div className="flex gap-2">
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Findings
|
||
</Button>
|
||
<Button className="rounded-md border border-slate-700 px-3 py-1 text-slate-300 hover:bg-slate-800">
|
||
Report
|
||
</Button>
|
||
</div>,
|
||
],
|
||
];
|
||
export const siteHeaders = [
|
||
"Site",
|
||
"Tenant",
|
||
"Coordinates",
|
||
"Radius",
|
||
"Status",
|
||
"Actions",
|
||
];
|
||
|
||
export const siteRows = [
|
||
[
|
||
<div>
|
||
<p className="font-semibold text-slate-100">Apple One — HQ Tower</p>
|
||
<p className="font-mono text-xs text-slate-400">AO-HQ · SIT-3001</p>
|
||
</div>,
|
||
"Apple One",
|
||
<span className="font-mono whitespace-nowrap">19.0760, 72.8777</span>,
|
||
<span className="rounded-md bg-slate-900 px-2 py-1 font-mono text-xs">200 m</span>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-7 w-12 rounded-full bg-teal-400 relative">
|
||
<div className="absolute right-1 top-1 h-5 w-5 rounded-full bg-slate-950" />
|
||
</div>
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>
|
||
</div>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<p className="font-semibold text-slate-100">Apple One — Annexe</p>
|
||
<p className="font-mono text-xs text-slate-400">AO-AX · SIT-3002</p>
|
||
</div>,
|
||
"Apple One",
|
||
<span className="font-mono whitespace-nowrap">19.1020, 72.8895</span>,
|
||
<span className="rounded-md bg-slate-900 px-2 py-1 font-mono text-xs">150 m</span>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-7 w-12 rounded-full bg-teal-400 relative">
|
||
<div className="absolute right-1 top-1 h-5 w-5 rounded-full bg-slate-950" />
|
||
</div>
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>
|
||
</div>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<p className="font-semibold text-slate-100">Novotel Pune — Main</p>
|
||
<p className="font-mono text-xs text-slate-400">NP-M · SIT-3003</p>
|
||
</div>,
|
||
"Novotel Pune",
|
||
<span className="font-mono whitespace-nowrap">18.5604, 73.9090</span>,
|
||
<span className="rounded-md bg-slate-900 px-2 py-1 font-mono text-xs">180 m</span>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-7 w-12 rounded-full bg-teal-400 relative">
|
||
<div className="absolute right-1 top-1 h-5 w-5 rounded-full bg-slate-950" />
|
||
</div>
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>
|
||
</div>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<p className="font-semibold text-slate-100">
|
||
SRM Campus — Academic Block
|
||
</p>
|
||
<p className="font-mono text-xs text-slate-400">SRM-AB · SIT-3004</p>
|
||
</div>,
|
||
"SRM Campus",
|
||
<span className="font-mono whitespace-nowrap">12.8230, 80.0444</span>,
|
||
<span className="rounded-md bg-slate-900 px-2 py-1 font-mono text-xs">400 m</span>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-7 w-12 rounded-full bg-teal-400 relative">
|
||
<div className="absolute right-1 top-1 h-5 w-5 rounded-full bg-slate-950" />
|
||
</div>
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>
|
||
</div>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<p className="font-semibold text-slate-100">
|
||
SRM Campus — Hostel Block
|
||
</p>
|
||
<p className="font-mono text-xs text-slate-400">SRM-HB · SIT-3005</p>
|
||
</div>,
|
||
"SRM Campus",
|
||
<span className="font-mono whitespace-nowrap">12.8255, 80.0478</span>,
|
||
<span className="rounded-md bg-slate-900 px-2 py-1 font-mono text-xs">350 m</span>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-7 w-12 rounded-full bg-teal-400 relative">
|
||
<div className="absolute right-1 top-1 h-5 w-5 rounded-full bg-slate-950" />
|
||
</div>
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>
|
||
</div>,
|
||
<ActionButtons />,
|
||
],
|
||
|
||
[
|
||
<div>
|
||
<p className="font-semibold text-slate-100">Local 1 — Site</p>
|
||
<p className="font-mono text-xs text-slate-400">L1-S · SIT-3006</p>
|
||
</div>,
|
||
"Local 1",
|
||
<span className="font-mono whitespace-nowrap">19.2183, 72.9781</span>,
|
||
<span className="rounded-md bg-slate-900 px-2 py-1 font-mono text-xs">120 m</span>,
|
||
<div className="flex items-center gap-3">
|
||
<div className="h-7 w-12 rounded-full bg-teal-400 relative">
|
||
<div className="absolute right-1 top-1 h-5 w-5 rounded-full bg-slate-950" />
|
||
</div>
|
||
<StatusBadge
|
||
text="Active"
|
||
color="bg-emerald-500/15 text-emerald-400"
|
||
/>
|
||
</div>,
|
||
<ActionButtons />,
|
||
],
|
||
];
|