Files
KAFM-Project/constants/constant.ts
2026-07-29 14:39:55 +05:30

893 lines
24 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { BarChart2, Box, CheckSquare,
ClipboardCheck, Crosshair, FileText, LayoutGrid, Zap } from "lucide-react";
export const chartData = [
{ month: 'J', height: 'h-24' },
{ month: 'F', height: 'h-16' },
{ month: 'M', height: 'h-32' },
{ month: 'A', height: 'h-20' },
{ month: 'M', height: 'h-28' },
{ month: 'J', height: 'h-12' },
{ month: 'J', height: 'h-32' },
{ month: 'A', height: 'h-24' },
{ month: 'S', height: 'h-30' },
{ month: 'O', height: 'h-20' },
{ month: 'N', height: 'h-26' },
{ month: 'D', height: 'h-24' },
];
export const energyData = [
{ month: "Jan", height: 'h-20' },
{ month: "Feb", height: 'h-12' },
{ month: "Mar", height: 'h-24' },
{ month: "Apr", height: 'h-26' },
{ month: "May", height: 'h-18' },
{ month: "Jun", height: 'h-20' },
];
// Emission Sources Progress Data
export const EMISSION_SOURCES = [
{ name: "Purchased electricity", percentage: "58%", width: "w-[58%]", color: "bg-sky-400" },
{ name: "DG / fuel combustion", percentage: "21%", width: "w-[21%]", color: "bg-amber-400" },
{ name: "Refrigerants (fugitive)", percentage: "12%", width: "w-[12%]", color: "bg-rose-400" },
{ name: "Water & waste", percentage: "9%", width: "w-[9%]", color: "bg-slate-400" },
];
export const activities = [
{ time: '09:42', text: '6/1009 assigned to ME Local', boldText: '6/1009' },
{ time: '09:18', text: 'Location checklist Block 1/2 completed', boldText: 'Block 1/2' },
{ time: '08:55', text: 'Meter MTR-1 reading logged · 58.45 kWh', boldText: 'Meter MTR-1' },
{ time: '08:30', text: 'PPM job card printed for APP-1100', boldText: 'APP-1100' },
];
export const colorMap = {
teal: 'bg-teal-400',
amber: 'bg-amber-500',
rose: 'bg-rose-500',
emerald: 'bg-emerald-500',
};
export const SATISFACTION_DRIVERS = [
{ label: "Workplace cleanliness", score: 88, color: "bg-[#10b981]" },
{ label: "Response to requests", score: 82, color: "bg-[#10b981]" },
{ label: "Amenities & facilities", score: 79, color: "bg-[#06b6d4]" },
{ label: "Communication", score: 71, color: "bg-[#f59e0b]" },
{ label: "Comfort (HVAC / light)", score: 84, color: "bg-[#06b6d4]" },
];
// Mock Data for Tickets & Suggestions
export const TICKETS_DATA = [
{ title: "Pantry coffee machine down", type: "Complaint", status: "OPEN" },
{ title: "Add covered parking", type: "Suggestion", status: "CLOSED" },
{ title: "Lift slow on L4", type: "Complaint", status: "OPEN" },
{ title: "Lift slow on L4", type: "Complaint", status: "CLOSED" },
{ title: "More water dispensers", type: "Complaint", status: "CLOSED" },
];
//Tabs used in Operations dashboards
export const equipmentTabs: string[] = [
'Equipment Groups',
'Site-Wise Equipment',
'PPM Checklist',
'AMC Checklist',
'PPM Schedule',
'AMC Schedule',
'Maintenance Calendar'
];
export const helpdeskTtabs: string[] =
['Location',
'Technical',
'Missed',
'Departments',
'HSQE'];
export const aiHelpdeskTabs: string[] = [
'Live triage',
'Invoice verification',
'SLA Enforecment',
'Automation rules',
];
export const Reqeusttabs: string[] = [
'TFM Requests',
'Engineering',
'Schedule Complaints'
];
export const trainingtabs: string[] = [
'Courses',
'Certificates & history',
];
export const statusFilters = [
{ label: 'All', count: 18 },
{ label: 'Registered', count: 4 },
{ label: 'Assigned', count: 3 },
{ label: 'Working', count: 4 },
{ label: 'Completed', count: 3 },
{ label: 'Overdue', count: 4 },
];
export const reportFilters = [
{ label: 'Site: All' },
{ label: 'Group: all' },
{ label: 'Status:All' },
];
export const workPermitFilters = [
{ label: 'All', count: 10 },
{ label: 'Awaiting', count: 3 },
{ label: 'Approved', count: 1},
{ label: 'Active', count: 2 },
{ label: 'Closed', count: 1 },
{ label: 'Expired', count: 1 },
{ label: 'Rejected', count: 1 },
];
export const visitorFilters = [
{ label: 'All', count: 12 },
{ label: 'Expected', count: 2 },
{ label: 'Pre-Reg', count: 2},
{ label: 'Onsite', count: 4 },
{ label: 'Left', count: 3 },
{ label: 'Denied', count: 1 },
];
// Data model interface
export const roomData = [
{
id: 1,
name: "Boardroom A",
location: "L10 • 16 seats",
status: "OCCUPIED",
statusColor: "bg-rose-500/10 text-rose-400 border-rose-500/20",
dotColor: "bg-rose-400",
tags: ["Video", "Display", "VC"],
subtitle: "Until 11:30 • Quarterly review",
actionType: "view"
},
{
id: 2,
name: "Huddle 1",
location: "L8 • 4 seats",
status: "AVAILABLE",
statusColor: "bg-emerald-500/10 text-emerald-400 border-emerald-500/20",
dotColor: "bg-emerald-400",
tags: ["Display"],
subtitle: "Free now",
actionType: "book"
},
{
id: 3,
name: "Training Hall",
location: "L2 • 40 seats",
status: "RESERVED",
statusColor: "bg-amber-500/10 text-amber-400 border-amber-500/20",
dotColor: "bg-amber-400",
tags: ["Projector", "Mic", "Catering"],
subtitle: "Until 14:00 • Safety induction",
actionType: "view"
},
{
id: 4,
name: "Focus Room 3",
location: "L8 • 2 seats",
status: "AVAILABLE",
statusColor: "bg-emerald-500/10 text-emerald-400 border-emerald-500/20",
dotColor: "bg-emerald-400",
tags: ["Display"],
subtitle: "Free now",
actionType: "book"
},
{
id: 5,
name: "Conf B",
location: "L5 • 10 seats",
status: "OCCUPIED",
statusColor: "bg-rose-500/10 text-rose-400 border-rose-500/20",
dotColor: "bg-rose-400",
tags: ["Video", "VC", "Whiteboard"],
subtitle: "Until 12:15 • Vendor call",
actionType: "view"
},
{
id: 6,
name: "Collab Zone",
location: "L3 • 8 seats",
status: "AVAILABLE",
statusColor: "bg-emerald-500/10 text-emerald-400 border-emerald-500/20",
dotColor: "bg-emerald-400",
tags: ["Display", "Whiteboard"],
subtitle: "Free now",
actionType: "book"
}
];
export const scheduleData = [
{
room: "Boardroom A",
title: "Quarterly business review",
time: "09:00",
status: "occupied"
},
{
room: "Conf B",
title: "Vendor onboarding call",
time: "10:00",
status: "occupied"
},
{
room: "Training Hall",
title: "Fire-safety induction",
time: "11:30",
status: "reserved"
},
{
room: "Collab Zone",
title: "Design sprint",
time: "14:00",
status: "available"
},
{
room: "Huddle 1",
title: "1:1 sync",
time: "16:00",
status: "available"
}
];
export const workspaceTabs: string[] = [
'Desk Booking',
'Floor Plan',
'TimeTable',
];
export const connectedassettabs:string[]=[
'Asset Fleet',
'Excursions',
'Optimisation',
]
export const sustainabilitytabs:string[]=[
'ESG Data Hub',
'IoT sensor',
'Reporting engine',
'Target & forecasts',
'Social & goverance',
]
export const gpsTrackingtabs:string[]=[
'Live tracking',
'Geo-fences',
'Entry/exit logs',
'Route history',
'Mobile app',
]
export const reporttabs: string[] = [
'Equipment',
'Maintance',
'Checklists',
'Requests',
'Inventory',
'Energy',
'HSQE',
'MMR',
];
// Mock Data for Zone Utilization
export const zoneUtilizationData = [
{ name: "North Wing · L8", current: 39, max: 48, barColor: "bg-amber-400" },
{ name: "Quiet Zone · L8", current: 11, max: 24, barColor: "bg-teal-400" },
{ name: "Collab · L3", current: 22, max: 30, barColor: "bg-amber-400" },
{ name: "Hot Desk · L5", current: 51, max: 60, barColor: "bg-amber-400" },
];
// Mock Data for Planned vs Actual Categories
export const categoryData = [
{
category: "PPM & AMC contracts",
type: "OPEX",
planned: "₹48.0 L",
actual: "₹31.2 L",
variance: "+₹16.8 L",
varianceColor: "text-emerald-400",
utilization: 65,
barColor: "bg-teal-400"
},
{
category: "Reactive repairs",
type: "OPEX",
planned: "₹15.0 L",
actual: "₹16.8 L",
variance: "-₹1.8 L",
varianceColor: "text-rose-400",
utilization: 112,
barColor: "bg-rose-400"
},
{
category: "Energy & utilities",
type: "OPEX",
planned: "₹62.0 L",
actual: "₹54.1 L",
variance: "+₹7.9 L",
varianceColor: "text-emerald-400",
utilization: 87,
barColor: "bg-teal-400"
},
{
category: "Consumables & spares",
type: "OPEX",
planned: "₹9.0 L",
actual: "₹7.4 L",
variance: "+₹1.6 L",
varianceColor: "text-emerald-400",
utilization: 82,
barColor: "bg-teal-400"
},
{
category: "Equipment upgrades",
type: "CAPEX",
planned: "₹35.0 L",
actual: "₹12.0 L",
variance: "+₹23.0 L",
varianceColor: "text-emerald-400",
utilization: 34,
barColor: "bg-teal-400"
},
{
category: "Soft services",
type: "OPEX",
planned: "₹22.0 L",
actual: "₹20.5 L",
variance: "+₹1.5 L",
varianceColor: "text-emerald-400",
utilization: 93,
barColor: "bg-amber-400"
}
];
// Mock Data for Approval Queue
export const approvalQueueData = [
{
id: "BUD-114",
title: "Chiller compressor overhaul",
meta: "L2 • FM Head • ₹4.8 L",
status: "pending"
},
{
id: "BUD-115",
title: "Q3 energy budget revision",
meta: "L3 • Finance • ₹12.0 L",
status: "pending"
},
{
id: "BUD-112",
title: "Fire panel AMC renewal",
meta: "L1 • Site • ₹2.6 L",
status: "completed"
}
];
export const wasteStreams = [
{ name: "General / landfill", amount: "1240", percentage: 70, color: "bg-slate-500" },
{ name: "Recyclable (paper/plastic)", amount: "860", percentage: 50, color: "bg-teal-400" },
{ name: "Organic / compost", amount: "540", percentage: 35, color: "bg-emerald-400" },
{ name: "E-waste", amount: "120", percentage: 10, color: "bg-blue-500" },
{ name: "Hazardous", amount: "64", percentage: 5, color: "bg-rose-400" },
];
export const scheduleItems = [
{ frequency: "Mon · Wed · Fri", stream: "General + recyclable", vendor: "GreenCycle Pvt" },
{ frequency: "Tue · Sat", stream: "Organic / compost", vendor: "In-house" },
{ frequency: "Monthly", stream: "E-waste", vendor: "EcoReco" },
{ frequency: "On call", stream: "Hazardous", vendor: "Ramky Enviro" },
];
export const plantLoadData = [
{ month: '08', height: 'h-[35%]' },
{ month: '09', height: 'h-[38%]' },
{ month: '10', height: 'h-[32%]' },
{ month: '11', height: 'h-[40%]' },
{ month: '12', height: 'h-[52%]' },
{ month: '13', height: 'h-[68%]' },
{ month: '14', height: 'h-[78%]' },
{ month: '15', height: 'h-[78%]' },
{ month: '16', height: 'h-[78%]' },
{ month: '17', height: 'h-[78%]' },
{ month: '18', height: 'h-[78%]' },
{ month: '19', height: 'h-[78%]' }
];
// Initial roles state
export const rolesList = [
{ id: "admin", label: "Admin", badge: "all" },
{ id: "helpdesk", label: "Helpdesk", badge: "scoped" },
{ id: "mne_supervisor", label: "M&E Supervisor", badge: "scoped" },
{ id: "technician", label: "Technician", badge: "scoped" },
{ id: "tenant", label: "Tenant", badge: "scoped" },
];
// Initial permissions table data
export const initialPermissions = [
{
id: 1,
module: "Help Desk",
menu: "Daily Location Checklist",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
{
id: 2,
module: "Equipment",
menu: "Site-Wise Equipment",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
{
id: 3,
module: "Equipment",
menu: "AMC Schedule",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
{
id: 4,
module: "Request",
menu: "TFM Request",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
{
id: 5,
module: "Energy",
menu: "Meter Reading",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
{
id: 6,
module: "Master",
menu: "Request Location",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
{
id: 7,
module: "Security",
menu: "Users",
permissions: { all: false, view: true, add: true, edit: true, delete: false, cancel: true, print: true },
},
];
export const blocks = ["Block 1", "Block 2", "Tower A"];
export const floors = ["Ground", "Floor 1", "Floor 2"];
export const zones = ["Zone N", "Zone Z1", "Zone Z2"];
// Mock user location data matching the screenshot
export const userData = [
{
name: "Dhananjay T.",
email: "dhananjay@kafm.io",
mobile: "7489477369",
latitude: "18.5450",
longitude: "73.7935",
site: "Apple One",
// Relative coordinates for the map visual dots (X%, Y%)
x: "19%",
y: "38%",
},
{
name: "ME Local",
email: "me.local@kafm.io",
mobile: "9876543210",
latitude: "18.5469",
longitude: "73.7945",
site: "Apple One",
x: "44%",
y: "43%",
},
{
name: "TECH Local",
email: "tech.local@kafm.io",
mobile: "9123456780",
latitude: "18.5441",
longitude: "73.7951",
site: "Apple One",
x: "69%",
y: "48%",
},
];
export const STAT_CARDS_DATA = [
{
title: "SLA ADHERENCE",
value: "90%",
subtext: "target 90% · automated tracking",
progress: 90,
color: "bg-[#00c985]", // Vibrant emerald green
valueColor: "text-[#00c985]",
},
{
title: "AVG WO RESOLUTION",
value: "22.4 h",
subtext: "target < 24 h · portfolio median",
progress: 93,
color: "bg-[#2dd4bf]", // Mint / Teal
valueColor: "text-white",
},
{
title: "MANUAL DATA ENTRY",
value: "-80%",
subtext: "agent-captured requests & readings",
progress: 80,
color: "bg-[#2dd4bf]", // Mint / Teal
valueColor: "text-[#2dd4bf]",
},
{
title: "REPORTING EFFORT",
value: "-75%",
subtext: "metrics ready for review — no compiling",
progress: 75,
color: "bg-[#2dd4bf]", // Mint / Teal
valueColor: "text-[#2dd4bf]",
},
];
// Data for Risk Radar
export const RISK_RADAR_ITEMS = [
{
title: "Coastal One · vendor gap",
desc: "HVAC vendor completion rate fell to 61% — 8 PPMs at risk of slipping this month. Backup vendor suggested.",
tag: "Escalates in ~6 days",
tagColor: "text-rose-400",
dotColor: "bg-rose-500",
action: "Assign backup",
},
{
title: "Lakeside · SLA drift",
desc: "P2 response times trending +18% over 3 weeks; correlated with night-shift staffing.",
tag: "Breach risk · next week",
tagColor: "text-amber-400",
dotColor: "bg-amber-400",
action: "Adjust roster",
},
{
title: "Monsoon readiness",
desc: "4 of 11 waterproofing checks pending across portfolio with rains forecast in 10 days.",
tag: "Window closing",
tagColor: "text-amber-400",
dotColor: "bg-amber-400",
action: "Schedule now",
},
{
title: "Spares shortfall",
desc: "AHU belt stock below reorder level at 2 sites; next PPM cycle consumes remaining stock.",
tag: "3 weeks of stock left",
tagColor: "text-sky-400",
dotColor: "bg-sky-400",
action: "Raise PO",
},
];
// Data for Vendor Performance
export const VENDOR_PERFORMANCE = [
{ name: "CoolServ HVAC", score: 94, barColor: "bg-emerald-400" },
{ name: "Apex Elevators", score: 91, barColor: "bg-emerald-400" },
{ name: "SecureWatch", score: 86, barColor: "bg-emerald-400" },
{ name: "AquaPure", score: 82, barColor: "bg-amber-400" },
{ name: "GreenScape", score: 61, barColor: "bg-rose-400" },
];
// Data for Live Context Feed
export const LIVE_FEED = [
{ time: "now", text: "Vendor CoolServ acknowledged P1 · Chiller-02 — tenant portal updated" },
{ time: "4 min", text: "Energy spike at Lakeside auto-linked to AHU-07 alert" },
{ time: "11 min", text: "Coastal One WO-1221 completed · SLA met · invoice draft created" },
{ time: "26 min", text: "Tenant satisfaction pulse: 4.4 ★ this week (+0.2)" },
];
export const STAFF_DATA = [
{ name: "Ravi Kumar", role: "M&E Technician", zone: "Chiller plant", inTime: "08:02", hrs: "6.4", status: "ON-SITE", statusType: "success" },
{ name: "Sana Iqbal", role: "HVAC Engineer", zone: "AHU room L7", inTime: "08:15", hrs: "6.1", status: "ON-SITE", statusType: "success" },
{ name: "Mohan D.", role: "Electrician", zone: "En route", inTime: "—", hrs: "0", status: "EN-ROUTE", statusType: "warning" },
{ name: "Lakshmi N.", role: "Housekeeping Lead", zone: "Lobby + L2", inTime: "07:48", hrs: "6.7", status: "ON-SITE", statusType: "success" },
{ name: "Arjun P.", role: "Plumber", zone: "Off-site", inTime: "—", hrs: "0", status: "OFF-SITE", statusType: "neutral" },
{ name: "Fatima R.", role: "BMS Operator", zone: "Control room", inTime: "06:55", hrs: "7.6", status: "ON-SITE", statusType: "success" },
];
export const permitsData = [
{
permit: "PTW-2663",
workingType: "Work at Height",
location: "Atrium void",
contractor: "Blue Star",
validityDate: "Jun 26, 2026",
validityTime: "08:3017:00",
crew: 2,
status: "ACTIVE",
actionText: "Close out",
isHighlighted: false,
},
{
permit: "PTW-2664",
workingType: "Electrical Isolation",
location: "STP wet well",
contractor: "Sterling FM",
validityDate: "Jun 26, 2026",
validityTime: "09:0013:00",
crew: 3,
status: "SUBMITTED",
actionText: "Approve",
isHighlighted: true, // Row with highlight bar
},
{
permit: "PTW-2665",
workingType: "Confined Space",
location: "DG yard",
contractor: "In-house team",
validityDate: "Jun 26, 2026",
validityTime: "14:0018:00",
crew: 4,
status: "APPROVED",
actionText: "Activate",
isHighlighted: false,
},
{
permit: "PTW-2666",
workingType: "Hot Work",
location: "Roof terrace",
contractor: "Voltas Ltd",
validityDate: "Jun 25, 2026",
validityTime: "08:0012:00",
crew: 5,
status: "EXPIRED",
hasViewIconOnly: true,
isHighlighted: false,
},
{
permit: "PTW-2667",
workingType: "Work at Height",
location: "LT panel room",
contractor: "Blue Star",
validityDate: "Jun 25, 2026",
validityTime: "10:0016:00",
crew: 2,
status: "CLOSED",
hasViewIconOnly: true,
isHighlighted: false,
},
{
permit: "PTW-2668",
workingType: "Electrical Isolation",
location: "Chiller plant",
contractor: "Sterling FM",
validityDate: "Jun 26, 2026",
validityTime: "11:0015:00",
crew: 3,
status: "REJECTED",
hasViewIconOnly: true,
isHighlighted: false,
},
{
permit: "PTW-2726",
workingType: "Work at Height",
location: "Atrium void",
contractor: "Blue Star",
validityDate: "Jun 26, 2026",
validityTime: "08:3017:00",
crew: 2,
status: "DRAFT",
actionText: "Submit",
isHighlighted: false,
},
];
export const LIVE_ACTIVITIES = [
{
time: "2 min ago",
title: "AC not cooling — 4F, Zone B",
detail: "Reset VAV setpoint via BMS · confirmed with requester",
status: "AUTO-RESOLVED",
conf: "96% conf",
statusColor: "text-emerald-400 bg-emerald-950/60 border-emerald-800/40",
dotColor: "bg-emerald-400",
},
{
time: "9 min ago",
title: "Water leakage near lobby lift",
detail: "Safety keyword detected → priority P1 · plumber dispatched",
status: "ESCALATED",
conf: "99% conf",
statusColor: "text-rose-400 bg-rose-950/60 border-rose-800/40",
dotColor: "bg-rose-400",
},
{
time: "22 min ago",
title: "Meeting room projector flickering",
detail: "Assigned to AV vendor · parts history attached",
status: "ROUTED",
conf: "88% conf",
statusColor: "text-sky-400 bg-sky-950/60 border-sky-800/40",
dotColor: "bg-sky-400",
},
{
time: "38 min ago",
title: "Request for extra chairs — Hall 2",
detail: "Soft-service task created · housekeeping confirmed",
status: "AUTO-RESOLVED",
conf: "94% conf",
statusColor: "text-emerald-400 bg-emerald-950/60 border-emerald-800/40",
dotColor: "bg-emerald-400",
},
{
time: "1 h ago",
title: "Bad odour in basement parking",
detail: "Linked to drain-line PPM due tomorrow — merged to avoid duplicate",
status: "ROUTED",
conf: "82% conf",
statusColor: "text-sky-400 bg-sky-950/60 border-sky-800/40",
dotColor: "bg-sky-400",
},
{
time: "2 h ago",
title: "Card reader not working — Gate 3",
detail: "Security-critical asset → P2 · vendor SLA timer started",
status: "ESCALATED",
conf: "97% conf",
statusColor: "text-amber-400 bg-amber-950/60 border-amber-800/40",
dotColor: "bg-amber-400",
},
];
export const HANDLES_DATA = [
{
title: "Routine comfort requests",
subtitle: "temperature, lighting, cleaning",
},
{
title: "Duplicate & merge detection",
subtitle: "links repeats to open WOs",
},
{
title: "Priority & safety triage",
subtitle: "P1 keywords escalate instantly",
},
{
title: "Vendor dispatch",
subtitle: "assigns per contract & skill",
},
];
export const initialRows = [
// Row 1 (2 cards)
{
id: "row-1",
widgets: [
{ id: "w1", title: "TFM Requests · Monthly", type: "report.widget" },
{ id: "w2", title: "Recent Activity", type: "report.widget" },
],
},
// Row 2 (2 cards)
{
id: "row-2",
widgets: [
{ id: "w3", title: "Schedule Performance", type: "report.widget" },
{ id: "w4", title: "Energy · Today", type: "report.widget" },
],
},
// Row 3 (3 cards)
{
id: "row-3",
widgets: [
{ id: "w5", title: "Top 5 Requester", type: "report.widget" },
{ id: "w6", title: "Asset Register", type: "report.widget" },
{ id: "w7", title: "PM Plan vs Started", type: "report.widget" },
],
},
];
export const initialLanguageValues = [
{
id: 1,
app: "Web Console",
menu: "Tenant",
screen: "Tenant List",
uiKey: "btn.add_tenant",
code: "EN",
value: "Add Tenant",
},
{
id: 2,
app: "Web Console",
menu: "Site",
screen: "Site List",
uiKey: "btn.add_site",
code: "EN",
value: "Add Site",
},
{
id: 3,
app: "Mobile App",
menu: "Inspections",
screen: "QR Round",
uiKey: "lbl.scan_qr",
code: "EN",
value: "Scan QR to begin round",
},
];
export const initialModules = [
{
id: "MOD-01",
title: "Dashboard",
description: "Operational overview & live KPIs",
icon: LayoutGrid,
menus: [], // Currently empty as per screenshot
},
{
id: "MOD-02",
title: "Helpdesk",
description: "Tickets, requests & SLA tracking",
icon: CheckSquare,
menus: ["Tickets", "SLA Settings", "Queues"],
},
{
id: "MOD-03",
title: "Equipment",
description: "Asset register & equipment groups",
icon: Crosshair,
menus: ["Asset Register", "Categories"],
},
{
id: "MOD-04",
title: "Request",
description: "Service requests & approvals",
icon: FileText,
menus: ["My Requests", "Approvals"],
},
{
id: "MOD-05",
title: "Inventory",
description: "Stock, spares & consumables",
icon: Box,
menus: ["Stock Levels", "Suppliers"],
},
{
id: "MOD-06",
title: "Energy",
description: "Meters, consumption & analytics",
icon: Zap,
menus: ["Meters", "Analytics"],
},
{
id: "MOD-07",
title: "Inspections",
description: "QR rounds & checklists",
icon: ClipboardCheck,
menus: ["Rounds", "Checklists"],
},
{
id: "MOD-08",
title: "Reports",
description: "Analytics & export tools",
icon: BarChart2,
menus: ["Scheduled Reports", "Custom Builder"],
},
];