From 5244500af69bc6fd617f7ce9b76a564c087f7797 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Thu, 7 May 2026 15:56:28 +0200 Subject: [PATCH] fix: Fehlende Dateien fuer Grenzen-Formular + Report-Export Interview: LimitsFormSections, FormFields, SectionCard, _types Tech-File: ReportPrintView, report-types Co-Authored-By: Claude Opus 4.6 (1M context) --- .../interview/_components/FormFields.tsx | 125 ++++++ .../_components/LimitsFormSections.tsx | 209 ++++++++++ .../interview/_components/SectionCard.tsx | 91 +++++ .../sdk/iace/[projectId]/interview/_types.ts | 207 ++++++---- .../tech-file/_components/ReportPrintView.tsx | 376 ++++++++++++++++++ .../tech-file/_components/report-types.ts | 164 ++++++++ 6 files changed, 1097 insertions(+), 75 deletions(-) create mode 100644 admin-compliance/app/sdk/iace/[projectId]/interview/_components/FormFields.tsx create mode 100644 admin-compliance/app/sdk/iace/[projectId]/interview/_components/LimitsFormSections.tsx create mode 100644 admin-compliance/app/sdk/iace/[projectId]/interview/_components/SectionCard.tsx create mode 100644 admin-compliance/app/sdk/iace/[projectId]/tech-file/_components/ReportPrintView.tsx create mode 100644 admin-compliance/app/sdk/iace/[projectId]/tech-file/_components/report-types.ts diff --git a/admin-compliance/app/sdk/iace/[projectId]/interview/_components/FormFields.tsx b/admin-compliance/app/sdk/iace/[projectId]/interview/_components/FormFields.tsx new file mode 100644 index 0000000..c2734b4 --- /dev/null +++ b/admin-compliance/app/sdk/iace/[projectId]/interview/_components/FormFields.tsx @@ -0,0 +1,125 @@ +'use client' + +interface TextInputProps { + label: string + value: string + onChange: (value: string) => void + placeholder?: string + helpText?: string + disabled?: boolean +} + +export function TextInput({ label, value, onChange, placeholder, helpText, disabled }: TextInputProps) { + return ( +
+ + {helpText &&

{helpText}

} + onChange(e.target.value)} + placeholder={placeholder} + disabled={disabled} + className="w-full px-3 py-2 border border-gray-200 dark:border-gray-600 rounded-lg text-sm bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-400 focus:ring-2 focus:ring-purple-500 focus:border-purple-500 disabled:bg-gray-50 dark:disabled:bg-gray-800 disabled:text-gray-400" + /> +
+ ) +} + +interface TextAreaProps { + label: string + value: string + onChange: (value: string) => void + placeholder?: string + helpText?: string + rows?: number +} + +export function TextArea({ label, value, onChange, placeholder, helpText, rows = 3 }: TextAreaProps) { + return ( +
+ + {helpText &&

{helpText}

} +