'use client' /** * Security Dashboard - DevSecOps * * Security scan results, vulnerability tracking, and compliance status * Migrated from old admin (/admin/security) */ import { PagePurpose } from '@/components/common/PagePurpose' import { DevOpsPipelineSidebarResponsive } from '@/components/infrastructure/DevOpsPipelineSidebar' import { useSecurityDashboard } from './useSecurityDashboard' import { SecurityHeader } from './_components/SecurityHeader' import { OverviewTab } from './_components/OverviewTab' import { FindingsTab } from './_components/FindingsTab' import { ToolsTab } from './_components/ToolsTab' import { HistoryTab } from './_components/HistoryTab' import { MonitoringTab } from './_components/MonitoringTab' import { DocumentationSection } from './_components/DocumentationSection' import type { TabId } from './types' const TAB_LABELS: Record = { overview: 'Uebersicht', findings: 'Findings', tools: 'Tools', history: 'Historie', monitoring: 'Monitoring', } export default function SecurityDashboardPage() { const { tools, findings, filteredFindings, summary, history, loading, scanning, error, activeTab, setActiveTab, monitoringMetrics, activeAlerts, severityFilter, setSeverityFilter, toolFilter, setToolFilter, showFullDocs, setShowFullDocs, scanMessage, lastScanTime, overallStatus, runScan, } = useSecurityDashboard() return (
{/* Tabs */}
{(Object.keys(TAB_LABELS) as TabId[]).map(tab => ( ))}
{/* Scan Status Message */} {scanMessage && (
{scanMessage} {lastScanTime && ( (gestartet um {lastScanTime}) )}
)} {error && (
{error}
)} {loading ? (
) : ( <> {activeTab === 'overview' && ( )} {activeTab === 'findings' && ( )} {activeTab === 'tools' && ( )} {activeTab === 'history' && ( )} {activeTab === 'monitoring' && ( )} )}
) }