"use client"; import React, { useState } from "react"; import { Check } from "lucide-react"; import Button from "@/components/common/button"; import { initialPermissions, rolesList } from "@/constants/constant"; 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 --- */}
); }