"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 --- */}
| MODULE |
MENU |
ALL |
VIEW |
ADD |
EDIT |
DELETE |
CANCEL |
PRINT |
{permissions.map((row) => (
{/* Module Name */}
|
{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 (
|
);
}
)}
))}
{/* --- SAVE BUTTON --- */}
);
}