'use client' import React, { useState } from 'react' import { useRouter } from 'next/navigation' import { StepHeader, STEP_EXPLANATIONS } from '@/components/sdk/StepHeader' import { ModuleCard } from './_components/ModuleCard' import { useModules } from './_hooks/useModules' import type { ModuleCategory } from './_hooks/useModules' export default function ModulesPage() { const router = useRouter() const [filter, setFilter] = useState('all') const [showCreateModal, setShowCreateModal] = useState(false) const [newModuleName, setNewModuleName] = useState('') const [newModuleCategory, setNewModuleCategory] = useState('custom') const [newModuleDescription, setNewModuleDescription] = useState('') const { state, availableModules, displayModules, isLoadingModules, backendError, actionError, activeModulesCount, totalRequirements, totalControls, handleActivateModule, handleDeactivateModule, handleCreateModule, } = useModules() const filteredModules = filter === 'all' ? displayModules : displayModules.filter(m => m.category === filter || m.status === filter) async function onCreateModule() { const ok = await handleCreateModule(newModuleName, newModuleCategory, newModuleDescription) if (ok) { setShowCreateModal(false) setNewModuleName('') setNewModuleCategory('custom') setNewModuleDescription('') } } const stepInfo = STEP_EXPLANATIONS['modules'] return (
{/* Step Header */} {/* Error Toast */} {actionError && (

{actionError}

)} {/* Create Module Modal */} {showCreateModal && (

Eigenes Modul erstellen

setNewModuleName(e.target.value)} placeholder="z.B. ISO 42001 AI Management" className="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm focus:ring-2 focus:ring-purple-500 focus:border-purple-500" />