Files
breakpilot-compliance/admin-compliance/components/sdk/dsfa/AIUseCaseEditorConstants.ts
Sharang Parnerkar ada50f0466 refactor(admin): split AIUseCaseModuleEditor, DataPointCatalog, ProjectSelector components
AIUseCaseModuleEditor (698 LOC) → thin orchestrator (187) + constants (29) +
barrel tabs (4) + tabs implementation split into SystemData (261), PurposeAct
(149), RisksReview (219). DataPointCatalog (658 LOC) → main (291) + helpers
(190) + CategoryGroup (124) + Row (108). ProjectSelector (656 LOC) → main
(211) + CreateProjectDialog (169) + ProjectActionDialog (140) + ProjectCard
(128). All files now under 300 LOC soft target and 500 LOC hard cap.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 09:16:21 +02:00

30 lines
1.3 KiB
TypeScript

import { AIModuleReviewTriggerType } from '@/lib/sdk/dsfa/ai-use-case-types'
export const TABS = [
{ id: 1, label: 'System', icon: '🖥️' },
{ id: 2, label: 'Daten', icon: '📊' },
{ id: 3, label: 'Zweck & Art. 22', icon: '⚖️' },
{ id: 4, label: 'KI-Kriterien', icon: '🔍' },
{ id: 5, label: 'Risiken', icon: '⚠️' },
{ id: 6, label: 'Maßnahmen', icon: '🛡️' },
{ id: 7, label: 'Review', icon: '🔄' },
]
export const REVIEW_TRIGGER_TYPES: { value: AIModuleReviewTriggerType; label: string; icon: string }[] = [
{ value: 'model_update', label: 'Modell-Update', icon: '🔄' },
{ value: 'data_drift', label: 'Datendrift', icon: '📉' },
{ value: 'accuracy_drop', label: 'Genauigkeitsabfall', icon: '📊' },
{ value: 'new_use_case', label: 'Neuer Anwendungsfall', icon: '🎯' },
{ value: 'regulatory_change', label: 'Regulatorische Änderung', icon: '📜' },
{ value: 'incident', label: 'Sicherheitsvorfall', icon: '🚨' },
{ value: 'periodic', label: 'Regelmäßig (zeitbasiert)', icon: '📅' },
]
export const LEGAL_BASES = [
'Art. 6 Abs. 1 lit. a DSGVO (Einwilligung)',
'Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung)',
'Art. 6 Abs. 1 lit. c DSGVO (Rechtliche Verpflichtung)',
'Art. 6 Abs. 1 lit. f DSGVO (Berechtigtes Interesse)',
'Art. 9 Abs. 2 lit. a DSGVO (Ausdrückliche Einwilligung)',
]