diff --git a/admin-compliance/app/sdk/atomic-controls/page.tsx b/admin-compliance/app/sdk/atomic-controls/page.tsx index 7e21afc6..a19432ba 100644 --- a/admin-compliance/app/sdk/atomic-controls/page.tsx +++ b/admin-compliance/app/sdk/atomic-controls/page.tsx @@ -13,6 +13,7 @@ import { CATEGORY_OPTIONS, } from '../control-library/components/helpers' import { ControlDetail } from '../control-library/components/ControlDetail' +import { SourceBadge } from '@/components/sdk/SourceBadge' // ============================================================================= // TYPES @@ -310,6 +311,7 @@ export default function AtomicControlsPage() { +

{ctrl.title}

{ctrl.objective}

diff --git a/admin-compliance/app/sdk/control-library/components/helpers.tsx b/admin-compliance/app/sdk/control-library/components/helpers.tsx index 2495a2d1..43be2a7e 100644 --- a/admin-compliance/app/sdk/control-library/components/helpers.tsx +++ b/admin-compliance/app/sdk/control-library/components/helpers.tsx @@ -232,14 +232,25 @@ export function StateBadge({ state }: { state: string }) { export function LicenseRuleBadge({ rule }: { rule: number | null | undefined }) { if (!rule) return null - const config: Record = { - 1: { bg: 'bg-green-100 text-green-700', label: 'Free Use' }, - 2: { bg: 'bg-blue-100 text-blue-700', label: 'Zitation' }, - 3: { bg: 'bg-amber-100 text-amber-700', label: 'Reformuliert' }, + // Corrected labels per Task #21 LICENSE_RULES.md mapping: + // R1 = woertlich (Hoheitsrecht/Public Domain, no attribution required) + // R2 = woertlich + Attribution-Pflicht (CC-BY, OWASP, OECD, ENISA) + // R3 = nur Identifier zitieren (DIN/ANSI/IEC/DGUV/proprietary — pipeline drops full text) + const config: Record = { + 1: { bg: 'bg-emerald-100 text-emerald-800', label: 'R1', title: 'Woertlich uebernehmbar (Hoheitsrecht/Public Domain)' }, + 2: { bg: 'bg-amber-100 text-amber-800', label: 'R2', title: 'Woertlich mit Attribution (CC-BY/OWASP/OECD/ENISA)' }, + 3: { bg: 'bg-slate-100 text-slate-700', label: 'R3', title: 'Nur Identifier-Verweis (DIN/ANSI/IEC/proprietaer)' }, } const c = config[rule] if (!c) return null - return {c.label} + return ( + + {c.label} + + ) } export function VerificationMethodBadge({ method }: { method: string | null }) {