diff --git a/.claude/rules/loc-exceptions.txt b/.claude/rules/loc-exceptions.txt index 48ffb95a..0264aebb 100644 --- a/.claude/rules/loc-exceptions.txt +++ b/.claude/rules/loc-exceptions.txt @@ -134,6 +134,14 @@ docs-src/Breakpilot ComplAI Finanzplan.xlsm # Phase 5+ target for splitting into smaller subcomponents per wizard step. admin-compliance/components/sdk/ai-act/DecisionTreeWizard.tsx +# --- admin-compliance: zentrale SDK-Schritt-Registry --- +# Flache Liste aller 38 SDK-Steps mit kanonischer Reihenfolge (seq). +# Splits nach Paket würden die globale Ordnungs-Garantie zerreißen und +# Imports an mehreren Stellen aufblähen — der Wert dieser Datei ist +# *eine* sortierte Source-of-Truth. +# [guardrail-change] +admin-compliance/lib/sdk/types/sdk-steps.ts + # --- ai-compliance-sdk: oversized handler refactor backlog --- # Phase 5+ target for splitting handler groups into per-resource files. ai-compliance-sdk/internal/api/handlers/tender_handlers.go diff --git a/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx b/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx index 1c6caedf..18a8cd30 100644 --- a/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx +++ b/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx @@ -1,7 +1,9 @@ 'use client' +export type ApprovalModalMode = 'approve-internal' | 'approve-client' | 'reject' + interface ApprovalModalProps { - mode: 'approve' | 'reject' + mode: ApprovalModalMode approvalComment: string onCommentChange: (comment: string) => void onCancel: () => void @@ -9,6 +11,26 @@ interface ApprovalModalProps { saving: boolean } +const TITLES: Record = { + 'approve-internal': 'DSB-Freigabe → an Mandant weiterleiten', + 'approve-client': 'Mandanten-Freigabe erteilen', + reject: 'Version ablehnen', +} + +const BUTTON_LABELS: Record = { + 'approve-internal': 'DSB-Freigabe erteilen', + 'approve-client': 'Mandanten-Freigabe erteilen', + reject: 'Ablehnen', +} + +const PLACEHOLDERS: Record = { + 'approve-internal': + 'Kommentar (optional) — Hinweise für den Mandanten...', + 'approve-client': + 'Kommentar (optional) — z.B. Freigabe durch Geschäftsführung...', + reject: 'Ablehnungsgrund...', +} + export default function ApprovalModal({ mode, approvalComment, @@ -17,18 +39,17 @@ export default function ApprovalModal({ onConfirm, saving, }: ApprovalModalProps) { + const isReject = mode === 'reject' return (
-

- {mode === 'approve' ? 'Version freigeben' : 'Version ablehnen'} -

+

{TITLES[mode]}