"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 (
Per-tenant role permissions, which platform users can sign in here and with what role, and ticket escalation routing.
{/* --- MAIN TABS --- */}| MODULE | MENU | ALL | VIEW | ADD | EDIT | DELETE | CANCEL | |
|---|---|---|---|---|---|---|---|---|
| {row.module} | {/* Menu Item Name */}{row.menu} | {/* Permission Checkboxes */} {(["all", "view", "add", "edit", "delete", "cancel", "print"] as const).map( (permKey) => { const isChecked = row.permissions[permKey]; return (); } )} |