"use client"; import React, { useState } from "react"; import { Check } from "lucide-react"; import Button from "@/components/common/button"; // Initial roles state 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 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 default function RolesAccessPortal() { const [activeTopTab, setActiveTopTab] = useState("Roles & Permissions"); const [selectedRole, setSelectedRole] = useState("mne_supervisor"); const [permissions, setPermissions] = useState(initialPermissions); return (
{/* --- BREADCRUMB --- */}
APPLE ONE — HQ TOWER CONFIGURE ROLES & ACCESS
{/* --- PAGE HEADER --- */}

Roles & access

Per-tenant role permissions, which platform users can sign in here and with what role, and ticket escalation routing.

{/* --- MAIN TABS --- */}
{["Roles & Permissions", "Tenant Access", "Escalation Matrix"].map((tab) => ( ))}
{/* --- MATRIX CONTAINER --- */}
{/* --- LEFT ROLES SIDEBAR --- */}
{rolesList.map((role) => { const isSelected = selectedRole === role.id; return ( ); })}
{/* --- RIGHT PERMISSIONS TABLE --- */}
{permissions.map((row) => ( {/* Module Name */} {/* Menu Item Name */} {/* Permission Checkboxes */} {(["all", "view", "add", "edit", "delete", "cancel", "print"] as const).map( (permKey) => { const isChecked = row.permissions[permKey]; return ( ); } )} ))}
MODULE MENU ALL VIEW ADD EDIT DELETE CANCEL PRINT
{row.module} {row.menu}
{/* --- SAVE BUTTON --- */}
); }