235 lines
9.4 KiB
TypeScript
235 lines
9.4 KiB
TypeScript
|
||
import { TableRowData } from '@/constants/types';
|
||
import {
|
||
LayoutGrid,
|
||
Smile,
|
||
Building2,
|
||
User,
|
||
Target,
|
||
CheckSquare,
|
||
FileText,
|
||
Box,
|
||
Zap,
|
||
ClipboardList,
|
||
Star,
|
||
Monitor,
|
||
UserCheck,
|
||
Calendar,
|
||
Layers,
|
||
Coins,
|
||
Receipt,
|
||
ShieldCheck,
|
||
Flame,
|
||
Recycle,
|
||
GraduationCap,
|
||
Brain,
|
||
Activity,
|
||
Bot,
|
||
Gauge,
|
||
Snowflake,
|
||
Leaf,
|
||
MapPin,
|
||
BarChart3,
|
||
Sun,
|
||
Shield,
|
||
Settings,
|
||
Wallet,
|
||
Radar,
|
||
Cog,
|
||
} from "lucide-react";
|
||
|
||
//Side bar Drop Down menu
|
||
|
||
export const SIDEBAR_ITEMS = [
|
||
{
|
||
title: "Overview",
|
||
icon: LayoutGrid,
|
||
children: [
|
||
{ title: "Dashboard", href: "/dashboard/overview/dashboard", icon: LayoutGrid },
|
||
{ title: "Engagement", href: "/dashboard/overview/engagement", icon: Smile },
|
||
{ title: "Building Owner", href: "/dashboard/overview/buildingOwner", icon: Building2 },
|
||
{ title: "Property Manager", href: "/dashboard/overview/propertyManager", icon: User },
|
||
{ title: "Service Engineer", href: "/dashboard/overview/serviceEngineer", icon: Target },
|
||
],
|
||
},
|
||
{
|
||
title: "Operations",
|
||
icon: Settings,
|
||
children: [
|
||
{ title: "Help Desk", href: "/operations/help-desk", icon: CheckSquare, badge: 6, badgeColor: "bg-amber-500 text-black" },
|
||
{ title: "Equipment", href: "/operations/equipment", icon: Target },
|
||
{ title: "Requests", href: "/operations/requests", icon: FileText, badge: 15, badgeColor: "bg-amber-400 text-black" },
|
||
{ title: "Inventory", href: "/operations/inventory", icon: Box },
|
||
{ title: "Energy", href: "/operations/energy", icon: Zap },
|
||
{ title: "Work Permit", href: "/operations/work-permit", icon: ClipboardList, badge: 3, badgeColor: "bg-amber-500 text-black" },
|
||
{ title: "Vendor & Field Service", href: "/operations/vendor-field", icon: Star, badge: 12, badgeColor: "bg-sky-400 text-black" },
|
||
],
|
||
},
|
||
{
|
||
title: "Workplace",
|
||
icon: Monitor,
|
||
children: [
|
||
{ title: "Visitor Management", href: "/workplace/visitor", icon: UserCheck },
|
||
{ title: "Meeting Rooms", href: "/workplace/meeting-rooms", icon: Calendar },
|
||
{ title: "Workspace", href: "/workplace/workspace", icon: Layers },
|
||
],
|
||
},
|
||
{
|
||
title: "Finance",
|
||
icon: Wallet,
|
||
children: [
|
||
{ title: "O&M Budget", href: "/finance/om-budget", icon: Coins },
|
||
{ title: "Costing & Invoicing", href: "/finance/costing-invoicing", icon: Receipt },
|
||
],
|
||
},
|
||
{
|
||
title: "Compliance & Safety",
|
||
icon: ShieldCheck,
|
||
children: [
|
||
{ title: "Statutory Compliance", href: "/compliance/statutory", icon: ShieldCheck },
|
||
{ title: "Contracts & SLA", href: "/compliance/contracts-sla", icon: FileText },
|
||
{ title: "Fire & Safety", href: "/compliance/fire-safety", icon: Flame },
|
||
{ title: "Waste & ESG", href: "/compliance/waste-esg", icon: Recycle },
|
||
{ title: "Training", href: "/compliance/training", icon: GraduationCap },
|
||
],
|
||
},
|
||
{
|
||
title: "Intelligence",
|
||
icon: Brain,
|
||
children: [{ title: "AI & Predictive", href: "/intelligence/predictive", icon: Brain },
|
||
{ title: "Asset Health", href: "/intelligence/asset-health", icon: ShieldCheck },
|
||
{ title: "Energy Benchmarking", href: "/intelligence/benchmarking", icon: Activity },
|
||
{ title: "AI Helpdesk", href: "/intelligence/ai-helpdesk", icon: Bot },
|
||
{ title: "Connected Ops", href: "/intelligence/connected-ops", icon: Gauge },
|
||
{ title: "Connected Assets", href: "/intelligence/connected-assets", icon: Snowflake },
|
||
{ title: "Sustainability", href: "/intelligence/sustainability", icon: Leaf },
|
||
{ title: "GPS Tracking", href: "/intelligence/gps-tracking", icon: MapPin },],
|
||
},
|
||
{
|
||
title: "IoT Application",
|
||
icon: Radar,
|
||
children: [{ title: "Command Center", href: "/iot/command-center", icon: Gauge },
|
||
{ title: "HVAC Plant", href: "/iot/hvac-plant", icon: Snowflake },
|
||
{ title: "Energy & Utilities", href: "/iot/energy-utilities", icon: Zap },
|
||
{ title: "Device Fleet", href: "/iot/device-fleet", icon: LayoutGrid },
|
||
{ title: "Alarms & Rules", href: "/iot/alarms-rules", icon: Shield, badge: 7, badgeColor: "bg-rose-500 text-white" },],
|
||
},
|
||
{
|
||
title: "Insight",
|
||
icon: BarChart3,
|
||
children: [{ title: "Reports & MMR", href: "/insight/reports", icon: BarChart3 },],
|
||
},
|
||
{
|
||
title: "Configure",
|
||
icon: Cog,
|
||
children: [{ title: "Master Data", href: "/configure/master-data", icon: Layers },
|
||
{ title: "Roles & Access", href: "/configure/roles-access", icon: Shield },
|
||
{ title: "Workflow Automation", href: "/configure/workflow", icon: Bot },
|
||
{ title: "User Location", href: "/configure/user-location", icon: MapPin },
|
||
{ title: "Settings", href: "/configure/settings", icon: Sun },],
|
||
},
|
||
];
|
||
|
||
//Overview dashboard data
|
||
|
||
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' },
|
||
];
|
||
|
||
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 Reqeusttabs: string[] = [
|
||
'TFM Requests',
|
||
'Engineering',
|
||
'Schedule Complaints'
|
||
];
|
||
|
||
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 },
|
||
];
|
||
|
||
|
||
|
||
// Data model interface
|
||
|
||
|
||
// Sample data extracted from your screenshot
|
||
export const mockData: TableRowData[] = [
|
||
{ id: '1', block: 'Block 1', floor: 'G', zone: 'Z2', department: 'Electrical', location: 'Main lobby', window: '06:00–17:30', tat: '60m', sched: 8, approval: true, status: 'INACTIVE' },
|
||
{ id: '2', block: 'Block 2', floor: '3', zone: 'Z2', department: 'Electrical', location: 'Main lobby', window: '08:00–23:59', tat: '30m', sched: 4, approval: false, status: 'ACTIVE' },
|
||
{ id: '3', block: 'Block 2', floor: '3', zone: 'Z1', department: 'Inspection work', location: 'Cafeteria', window: '06:00–17:30', tat: '20m', sched: 8, approval: true, status: 'ACTIVE' },
|
||
{ id: '4', block: 'Block 1', floor: 'G', zone: 'Z1', department: 'HVAC', location: 'Server room', window: '08:00–18:00', tat: '30m', sched: 4, approval: false, status: 'INACTIVE' },
|
||
{ id: '5', block: 'Block 2', floor: '3', zone: 'N', department: 'Inspection work', location: 'Server room', window: '08:00–18:00', tat: '60m', sched: 8, approval: true, status: 'ACTIVE' },
|
||
{ id: '6', block: 'Block 2', floor: 'G', zone: 'Z1', department: 'Electrical', location: 'Reception', window: '06:00–18:00', tat: '60m', sched: 6, approval: false, status: 'ACTIVE' },
|
||
{ id: '7', block: 'Block 1', floor: 'G', zone: 'Z2', department: 'Electrical', location: 'Food court', window: '06:00–17:30', tat: '60m', sched: 8, approval: true, status: 'ACTIVE' },
|
||
{ id: '8', block: 'Block 2', floor: '3', zone: 'Z2', department: 'Electrical', location: 'Cafeteria', window: '08:00–23:59', tat: '30m', sched: 4, approval: false, status: 'ACTIVE' },
|
||
{ id: '9', block: 'Block 2', floor: '3', zone: 'Z1', department: 'Inspection work', location: 'Gym', window: '06:00–17:30', tat: '20m', sched: 8, approval: true, status: 'INACTIVE' },
|
||
{ id: '10', block: 'Block 1', floor: 'G', zone: 'Z1', department: 'HVAC', location: 'Lobby', window: '08:00–18:00', tat: '30m', sched: 4, approval: false, status: 'ACTIVE' },
|
||
]; |