import React from 'react' import Link from 'next/link' import { AdditionalModuleItem } from './SidebarSubComponents' function withProject(url: string, projectId?: string): string { if (!projectId) return url const separator = url.includes('?') ? '&' : '?' return `${url}${separator}project=${projectId}` } interface SidebarModuleNavProps { pathname: string | null collapsed: boolean projectId?: string pendingCRCount: number } export function SidebarModuleNav({ pathname, collapsed, projectId, pendingCRCount }: SidebarModuleNavProps) { return ( <> {/* Maschinenrecht / CE */}
{!collapsed && (
Maschinenrecht / CE
)} } label="CE-Compliance (IACE)" isActive={pathname?.startsWith('/sdk/iace') ?? false} collapsed={collapsed} projectId={projectId} />
{/* Additional Modules */}
{!collapsed && (
Zusatzmodule
)} } label="Schulung (Admin)" isActive={pathname === '/sdk/training'} collapsed={collapsed} projectId={projectId} /> } label="Schulung (Learner)" isActive={pathname === '/sdk/training/learner'} collapsed={collapsed} projectId={projectId} /> } label="Legal RAG" isActive={pathname === '/sdk/rag'} collapsed={collapsed} projectId={projectId} /> } label="AI Quality" isActive={pathname === '/sdk/quality'} collapsed={collapsed} projectId={projectId} /> } label="Security Backlog" isActive={pathname === '/sdk/security-backlog'} collapsed={collapsed} projectId={projectId} /> } label="Compliance Hub" isActive={pathname === '/sdk/compliance-hub'} collapsed={collapsed} projectId={projectId} /> } label="Assertions" isActive={pathname === '/sdk/assertions'} collapsed={collapsed} projectId={projectId} /> } label="DSMS" isActive={pathname === '/sdk/dsms'} collapsed={collapsed} projectId={projectId} /> } label="SDK Flow" isActive={pathname === '/sdk/sdk-flow'} collapsed={collapsed} projectId={projectId} /> } label="Architektur" isActive={pathname === '/sdk/architecture'} collapsed={collapsed} projectId={projectId} /> } label="Agenten" isActive={pathname?.startsWith('/sdk/agents') ?? false} collapsed={collapsed} projectId={projectId} /> } label="Workshop" isActive={pathname === '/sdk/workshop'} collapsed={collapsed} projectId={projectId} /> } label="Portfolio" isActive={pathname === '/sdk/portfolio'} collapsed={collapsed} projectId={projectId} /> } label="Roadmap" isActive={pathname === '/sdk/roadmap'} collapsed={collapsed} projectId={projectId} /> } label="ISMS (ISO 27001)" isActive={pathname === '/sdk/isms'} collapsed={collapsed} projectId={projectId} /> } label="LLM Audit" isActive={pathname === '/sdk/audit-llm'} collapsed={collapsed} projectId={projectId} /> } label="RBAC Admin" isActive={pathname === '/sdk/rbac'} collapsed={collapsed} projectId={projectId} /> } label="Kataloge" isActive={pathname === '/sdk/catalog-manager'} collapsed={collapsed} projectId={projectId} /> } label="Compliance Wiki" isActive={pathname?.startsWith('/sdk/wiki')} collapsed={collapsed} projectId={projectId} /> } label="API-Referenz" isActive={pathname === '/sdk/api-docs'} collapsed={collapsed} projectId={projectId} /> {!collapsed && ( Änderungsanfragen {pendingCRCount > 0 && ( {pendingCRCount} )} )} {collapsed && pendingCRCount > 0 && ( )} } label="Developer Portal" isActive={false} collapsed={collapsed} projectId={projectId} /> } label="SDK Dokumentation" isActive={false} collapsed={collapsed} projectId={projectId} />
) }