Files
KAFM-Project/constants/constant.ts

255 lines
9.9 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 { 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 },
];
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
// 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:0017: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:0023: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:0017: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:0018: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:0018:00', tat: '60m', sched: 8, approval: true, status: 'ACTIVE' },
{ id: '6', block: 'Block 2', floor: 'G', zone: 'Z1', department: 'Electrical', location: 'Reception', window: '06:0018: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:0017:30', tat: '60m', sched: 8, approval: true, status: 'ACTIVE' },
{ id: '8', block: 'Block 2', floor: '3', zone: 'Z2', department: 'Electrical', location: 'Cafeteria', window: '08:0023: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:0017:30', tat: '20m', sched: 8, approval: true, status: 'INACTIVE' },
{ id: '10', block: 'Block 1', floor: 'G', zone: 'Z1', department: 'HVAC', location: 'Lobby', window: '08:0018:00', tat: '30m', sched: 4, approval: false, status: 'ACTIVE' },
];