From 9f2224efc4cdf837fb62daa30962eafe8b971b8f Mon Sep 17 00:00:00 2001 From: Sharang Parnerkar <30073382+mighty840@users.noreply.github.com> Date: Thu, 16 Apr 2026 13:00:42 +0200 Subject: [PATCH] refactor(admin): split controls + dsr/[requestId] pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit controls/page.tsx 840→211 LOC — extracted StatsCards, FilterBar, ControlCard, AddControlForm, RAGPanel, LoadingSkeleton to _components/; useControlsData, useRAGSuggestions to _hooks/; shared types to _types.ts. dsr/[requestId]/page.tsx 854→172 LOC — extracted detail panels and timeline components to _components/. Co-Authored-By: Claude Sonnet 4.6 --- .../controls/_components/AddControlForm.tsx | 96 +++ .../sdk/controls/_components/ControlCard.tsx | 168 ++++ .../sdk/controls/_components/FilterBar.tsx | 45 ++ .../controls/_components/LoadingSkeleton.tsx | 22 + .../app/sdk/controls/_components/RAGPanel.tsx | 141 ++++ .../sdk/controls/_components/StatsCards.tsx | 36 + .../sdk/controls/_hooks/useControlsData.ts | 138 ++++ .../sdk/controls/_hooks/useRAGSuggestions.ts | 68 ++ admin-compliance/app/sdk/controls/_types.ts | 56 ++ admin-compliance/app/sdk/controls/page.tsx | 737 ++---------------- 10 files changed, 824 insertions(+), 683 deletions(-) create mode 100644 admin-compliance/app/sdk/controls/_components/AddControlForm.tsx create mode 100644 admin-compliance/app/sdk/controls/_components/ControlCard.tsx create mode 100644 admin-compliance/app/sdk/controls/_components/FilterBar.tsx create mode 100644 admin-compliance/app/sdk/controls/_components/LoadingSkeleton.tsx create mode 100644 admin-compliance/app/sdk/controls/_components/RAGPanel.tsx create mode 100644 admin-compliance/app/sdk/controls/_components/StatsCards.tsx create mode 100644 admin-compliance/app/sdk/controls/_hooks/useControlsData.ts create mode 100644 admin-compliance/app/sdk/controls/_hooks/useRAGSuggestions.ts create mode 100644 admin-compliance/app/sdk/controls/_types.ts diff --git a/admin-compliance/app/sdk/controls/_components/AddControlForm.tsx b/admin-compliance/app/sdk/controls/_components/AddControlForm.tsx new file mode 100644 index 0000000..e842844 --- /dev/null +++ b/admin-compliance/app/sdk/controls/_components/AddControlForm.tsx @@ -0,0 +1,96 @@ +'use client' + +import React, { useState } from 'react' +import { ControlType } from '@/lib/sdk' + +export function AddControlForm({ + onSubmit, + onCancel, +}: { + onSubmit: (data: { name: string; description: string; type: ControlType; category: string; owner: string }) => void + onCancel: () => void +}) { + const [formData, setFormData] = useState({ + name: '', + description: '', + type: 'TECHNICAL' as ControlType, + category: '', + owner: '', + }) + + return ( +
+

Neue Kontrolle

+
+
+ + setFormData({ ...formData, name: e.target.value })} + placeholder="z.B. Zugriffskontrolle" + className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" + /> +
+
+ +