diff --git a/admin-compliance/app/sdk/agent/_components/ConsentTestResult.tsx b/admin-compliance/app/sdk/agent/_components/ConsentTestResult.tsx index 4a462ab..c2dbd7c 100644 --- a/admin-compliance/app/sdk/agent/_components/ConsentTestResult.tsx +++ b/admin-compliance/app/sdk/agent/_components/ConsentTestResult.tsx @@ -34,6 +34,11 @@ interface ConsentData { category_violations?: number categories_tested?: number } + banner_checks?: { + has_impressum_link: boolean + has_dse_link: boolean + violations: { service: string; severity: string; text: string; legal_ref: string }[] + } category_tests?: { category: string category_label: string @@ -162,6 +167,42 @@ export function ConsentTestResult({ data }: { data: ConsentData }) { )} + {/* Banner Text Checks */} + {data.banner_checks && (data.banner_checks.violations?.length > 0 || data.banner_checks.has_impressum_link !== undefined) && ( +
+

+ 📝 Banner-Text Pruefung +

+
+ + {data.banner_checks.has_impressum_link ? '✓' : '✗'} Impressum-Link + + + {data.banner_checks.has_dse_link ? '✓' : '✗'} DSE-Link + +
+ {data.banner_checks.violations?.map((v: any, i: number) => { + const isHigh = v.severity === 'HIGH' || v.severity === 'CRITICAL' + return ( +
+
+ + {v.severity} + +
+

{v.text}

+

{v.legal_ref}

+
+
+
+ ) + })} + {(!data.banner_checks.violations || data.banner_checks.violations.length === 0) && ( +

✓ Keine Banner-Text-Verstoesse erkannt

+ )} +
+ )} + {/* Category Tests (Phase D-F) */} {data.category_tests && data.category_tests.length > 0 && (