"use client"; import { useState } from "react"; import { Pencil, Plus, } from "lucide-react"; import { initialModules } from "@/constants/constant"; import Button from "@/components/common/button"; export default function ModulesPortal() { const [selectedModuleId, setSelectedModuleId] = useState("MOD-01"); const activeModule = initialModules.find((m) => m.id === selectedModuleId); return (
{/* Header Section */}
PLATFORM MODULES

Modules

The catalog of system modules and their menus. These are what you switch on per tenant under feature access.

{/* Main Grid Container */}
{/* Left Column: Modules List */}
{/* Section Header */}

Modules

{initialModules.length} available
{/* Module Items */}
{initialModules.map((module) => { const Icon = module.icon; const isSelected = module.id === selectedModuleId; return (
setSelectedModuleId(module.id)} className={`group relative flex items-center justify-between p-3.5 rounded-lg border cursor-pointer transition-all ${ isSelected ? "bg-teal-950/30 border-teal-500/40" : "bg-[#09111E]/40 border-slate-800/60 hover:border-slate-700 hover:bg-[#0D1726]" }`} >

{module.title}

{module.description}

{module.id}
); })}
{/* Right Column: Menus Panel */}
{/* Menus Header */}

Menus

Under {activeModule?.title || "Module"}
{/* Empty State / Menus List */} {activeModule?.menus && activeModule.menus.length > 0 ? (
{activeModule.menus.map((menu, idx) => (
{menu}
))}
) : (

No menus under this module yet.

)}
); }