Compare commits
3 Commits
a4b75dc6b1
...
a2f8366171
| Author | SHA1 | Date | |
|---|---|---|---|
| a2f8366171 | |||
| a3671d4a06 | |||
| cd5f986489 |
@@ -174,33 +174,33 @@ export default function MitigationsPage() {
|
||||
{isExpanded && items.length > 0 && (
|
||||
<div className="border-t border-gray-100 dark:border-gray-700">
|
||||
{/* Table header */}
|
||||
<div className="flex items-center gap-2 px-4 py-2 bg-gray-50 dark:bg-gray-750 text-xs font-medium text-gray-500 uppercase tracking-wider">
|
||||
<div className="w-6">
|
||||
<div className="grid grid-cols-[24px_2fr_1fr_80px] gap-2 px-4 py-2 bg-gray-50 dark:bg-gray-750 text-xs font-medium text-gray-500 uppercase tracking-wider">
|
||||
<div>
|
||||
<input type="checkbox" checked={allSelected} onChange={() => selectAllInType(type)}
|
||||
className="accent-purple-600" title="Alle auswaehlen" />
|
||||
</div>
|
||||
<div className="flex-1">Massnahme</div>
|
||||
<div className="w-24">Status</div>
|
||||
<div className="w-32">Gefaehrdung</div>
|
||||
<div>Massnahme</div>
|
||||
<div>Gefaehrdung</div>
|
||||
<div>Status</div>
|
||||
</div>
|
||||
{/* Rows */}
|
||||
{items.map((m) => (
|
||||
<div key={m.id}
|
||||
className={`flex items-center gap-2 px-4 py-2 border-t border-gray-50 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-750 transition-colors ${selected.has(m.id) ? 'bg-purple-50 dark:bg-purple-900/10' : ''}`}>
|
||||
<div className="w-6">
|
||||
className={`grid grid-cols-[24px_2fr_1fr_80px] gap-2 px-4 py-2 border-t border-gray-50 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-750 transition-colors ${selected.has(m.id) ? 'bg-purple-50 dark:bg-purple-900/10' : ''}`}>
|
||||
<div className="pt-0.5">
|
||||
<input type="checkbox" checked={selected.has(m.id)} onChange={() => toggleSelect(m.id)}
|
||||
className="accent-purple-600" />
|
||||
</div>
|
||||
<div className="flex-1 min-w-0">
|
||||
<div className="text-sm text-gray-900 dark:text-white truncate">{m.title || ''}</div>
|
||||
{m.description && <div className="text-xs text-gray-400 truncate">{m.description}</div>}
|
||||
<div className="min-w-0">
|
||||
<div className="text-sm text-gray-900 dark:text-white">{m.title || ''}</div>
|
||||
{m.description && <div className="text-xs text-gray-400 mt-0.5">{m.description}</div>}
|
||||
</div>
|
||||
<div className="w-24">
|
||||
<StatusBadge status={m.status} />
|
||||
</div>
|
||||
<div className="w-32 text-xs text-gray-500 truncate">
|
||||
<div className="text-xs text-gray-500">
|
||||
{(m.linked_hazard_names || []).join(', ') || '-'}
|
||||
</div>
|
||||
<div>
|
||||
<StatusBadge status={m.status} />
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -236,7 +236,7 @@ ART13_CHECKLIST = [
|
||||
r"art\.\s*4[5-9]",
|
||||
],
|
||||
"severity": "MEDIUM",
|
||||
"hint": "Bei Drittlandtransfers muss der konkrete Schutzmechanismus benannt werden: Angemessenheitsbeschluss (Art. 45), Standardvertragsklauseln/SCC (Art. 46(2)(c)) oder EU-US Data Privacy Framework. Ohne Angabe ist der Transfer nicht DSGVO-konform dokumentiert.",
|
||||
"hint": "Bei Drittlandtransfers muss der konkrete Schutzmechanismus benannt werden. Hinweis: Das EU-US Privacy Shield ist seit dem EuGH-Urteil 'Schrems II' (Juli 2020) ungueltig. Aktualisieren Sie auf: EU-US Data Privacy Framework/DPF (Angemessenheitsbeschluss seit Juli 2023) oder Standardvertragsklauseln/SCC (Art. 46(2)(c) DSGVO).",
|
||||
},
|
||||
|
||||
# ── L1: Speicherdauer ─────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user