1843 lines
53 KiB
TypeScript
1843 lines
53 KiB
TypeScript
import ActionButtons from "@/components/common/actionButton";
|
||
import Button from "@/components/common/button";
|
||
import { StatusBadge } from "@/components/common/statusBadge";
|
||
|
||
|
||
|
||
//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>,
|
||
],
|
||
];
|
||
|
||
|
||
|
||
//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>,
|
||
],
|
||
]; |