'use client'; import { useCompliance } from '@breakpilot/compliance-sdk-react'; import Link from 'next/link'; import { Shield, FileText, Lock, Search, AlertTriangle, CheckCircle, ArrowRight, BarChart3, Settings, } from 'lucide-react'; export default function DashboardPage() { const { state, isLoading, error, progress } = useCompliance(); if (isLoading) { return (

Loading compliance data...

); } if (error) { return (

Error loading compliance data

{error}

); } const modules = [ { id: 'dsgvo', title: 'DSGVO', description: 'Datenschutz-Grundverordnung Compliance', icon: Shield, href: '/dsgvo', stats: { completed: 8, total: 12 }, color: 'text-blue-500', }, { id: 'compliance', title: 'Compliance Hub', description: 'Controls, Evidence & Obligations', icon: CheckCircle, href: '/compliance', stats: { completed: 32, total: 44 }, color: 'text-green-500', }, { id: 'rag', title: 'Legal Assistant', description: 'AI-powered regulatory search', icon: Search, href: '/rag', stats: { documents: 21 }, color: 'text-purple-500', }, { id: 'sbom', title: 'SBOM', description: 'Software Bill of Materials', icon: FileText, href: '/sbom', stats: { components: 140 }, color: 'text-orange-500', }, { id: 'security', title: 'Security', description: 'Vulnerability scanning & findings', icon: Lock, href: '/security', stats: { findings: 5, critical: 0 }, color: 'text-red-500', }, ]; return (
{/* Header */}

BreakPilot Compliance

Admin Dashboard

{/* Overall Progress */}

Overall Compliance Score

Based on all active modules

{state?.complianceScore ?? progress?.overall ?? 0}%
DSGVO
{progress?.dsgvo ?? 0}%
Compliance
{progress?.compliance ?? 0}%
Security
{progress?.security ?? 0}%
SBOM
{progress?.sbom ?? 0}%
RAG
{progress?.rag ?? 0}%
{/* Module Grid */}
{modules.map((module) => { const Icon = module.icon; return (

{module.title}

{module.description}

{'completed' in module.stats && ( {module.stats.completed} /{module.stats.total} complete )} {'documents' in module.stats && ( {module.stats.documents} {' '} documents )} {'components' in module.stats && ( {module.stats.components} {' '} components )} {'findings' in module.stats && ( {module.stats.findings} {' '} findings {module.stats.critical > 0 && ( ({module.stats.critical} critical) )} )}
); })}
{/* Quick Actions */}

Quick Actions

Ask Legal Question Run Security Scan Export Report Manage Consents
); }