Some checks failed
Deploy Development / deploy (push) Successful in 46s
Test Suite / pytest-backend (push) Failing after 2s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 7s
Test Suite / playwright-tests (push) Successful in 50s
DB 047: legal_documents (versioniert, draft/published/archived) +
legal_document_audit (Änderungslog); Partial-Unique-Index garantiert
max. ein published-Dokument pro document_type.
Backend: GET /api/legal-documents/{type}/published (kein Auth);
Superadmin-CRUD + Publish/Archive + Audit unter /api/admin/legal-documents.
Frontend: LegalPage lädt aus API mit Platzhalter-Fallback;
AdminLegalDocumentsPage (/admin/legal-documents) mit Tab-Navigation,
Versionsliste, Entwurf-Editor, Publish/Archive-Workflow, Änderungslog.
AdminPageNav: Link „Rechtstexte" ergänzt.
version: 0.8.71 (backend + frontend)
module: legal_documents 1.0.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
1.2 KiB
JavaScript
37 lines
1.2 KiB
JavaScript
import { NavLink } from 'react-router-dom'
|
|
import { TreePine, FolderTree, Download, Grid3x3, Users, Scale } from 'lucide-react'
|
|
|
|
/**
|
|
* Admin-Seiten-Navigation (horizontal) — nur für Super-Admins (globaler Portal-Mandant).
|
|
*/
|
|
export default function AdminPageNav() {
|
|
const pages = [
|
|
{ to: '/admin/hierarchy', label: 'Hierarchie', icon: TreePine },
|
|
{ to: '/admin/users', label: 'Nutzer', icon: Users },
|
|
{ to: '/admin/maturity-models', label: 'Fähigkeitsmatrix', icon: Grid3x3 },
|
|
{ to: '/admin/catalogs', label: 'Kataloge', icon: FolderTree },
|
|
{ to: '/admin/mediawiki-import', label: 'Wiki-Import', icon: Download },
|
|
{ to: '/admin/legal-documents', label: 'Rechtstexte', icon: Scale },
|
|
]
|
|
|
|
return (
|
|
<nav className="admin-top-nav" aria-label="Administration">
|
|
{pages.map((page) => {
|
|
const Icon = page.icon
|
|
return (
|
|
<NavLink
|
|
key={page.to}
|
|
to={page.to}
|
|
className={({ isActive }) =>
|
|
'admin-top-nav__link' + (isActive ? ' admin-top-nav__link--active' : '')
|
|
}
|
|
>
|
|
<Icon size={18} strokeWidth={2} aria-hidden />
|
|
<span>{page.label}</span>
|
|
</NavLink>
|
|
)
|
|
})}
|
|
</nav>
|
|
)
|
|
}
|