From 82a5a388b853df6534b7cb498d6d5b95fcf2e1d0 Mon Sep 17 00:00:00 2001 From: Sharang Parnerkar <30073382+mighty840@users.noreply.github.com> Date: Tue, 14 Apr 2026 22:50:29 +0200 Subject: [PATCH] refactor(admin): split workflow page.tsx into colocated components Split 1175-LOC workflow page into _components, _hooks and _types modules. page.tsx now 256 LOC (wire-up only). Behavior preserved. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../workflow/_components/ApprovalModal.tsx | 55 + .../sdk/workflow/_components/CompareView.tsx | 143 ++ .../_components/DocumentSelectorBar.tsx | 85 ++ .../sdk/workflow/_components/HistoryPanel.tsx | 73 ++ .../workflow/_components/NewDocumentModal.tsx | 84 ++ .../workflow/_components/RichTextToolbar.tsx | 101 ++ .../workflow/_components/SplitViewEditor.tsx | 148 +++ .../_components/WorkflowStatusBar.tsx | 126 ++ .../sdk/workflow/_hooks/useRichTextEditor.ts | 131 ++ .../app/sdk/workflow/_hooks/useSyncScroll.ts | 55 + .../sdk/workflow/_hooks/useWorkflowActions.ts | 248 ++++ admin-compliance/app/sdk/workflow/_types.ts | 50 + admin-compliance/app/sdk/workflow/page.tsx | 1149 ++--------------- 13 files changed, 1414 insertions(+), 1034 deletions(-) create mode 100644 admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/CompareView.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/DocumentSelectorBar.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/HistoryPanel.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/NewDocumentModal.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/RichTextToolbar.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/SplitViewEditor.tsx create mode 100644 admin-compliance/app/sdk/workflow/_components/WorkflowStatusBar.tsx create mode 100644 admin-compliance/app/sdk/workflow/_hooks/useRichTextEditor.ts create mode 100644 admin-compliance/app/sdk/workflow/_hooks/useSyncScroll.ts create mode 100644 admin-compliance/app/sdk/workflow/_hooks/useWorkflowActions.ts create mode 100644 admin-compliance/app/sdk/workflow/_types.ts diff --git a/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx b/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx new file mode 100644 index 0000000..1c6caed --- /dev/null +++ b/admin-compliance/app/sdk/workflow/_components/ApprovalModal.tsx @@ -0,0 +1,55 @@ +'use client' + +interface ApprovalModalProps { + mode: 'approve' | 'reject' + approvalComment: string + onCommentChange: (comment: string) => void + onCancel: () => void + onConfirm: () => void + saving: boolean +} + +export default function ApprovalModal({ + mode, + approvalComment, + onCommentChange, + onCancel, + onConfirm, + saving, +}: ApprovalModalProps) { + return ( +
+
+

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

+