'use client' import React from 'react' import { useCompliance } from '../provider' import { ComplianceScore } from './ComplianceScore' import { RiskMatrix } from './RiskMatrix' export interface ComplianceDashboardProps { showScore?: boolean showRisks?: boolean showProgress?: boolean showObligations?: boolean className?: string style?: React.CSSProperties } export function ComplianceDashboard({ showScore = true, showRisks = true, showProgress = true, showObligations = true, className, style, }: ComplianceDashboardProps) { const { state, compliance, completionPercentage, phase1Completion, phase2Completion } = useCompliance() const score = compliance.calculateComplianceScore() const criticalRisks = compliance.getCriticalRisks() const upcomingObligations = compliance.getUpcomingObligations() const overdueObligations = compliance.getOverdueObligations() const containerStyle: React.CSSProperties = { fontFamily: 'system-ui, -apple-system, sans-serif', ...style, } const cardStyle: React.CSSProperties = { backgroundColor: '#fff', borderRadius: '8px', padding: '20px', boxShadow: '0 1px 3px rgba(0, 0, 0, 0.1)', marginBottom: '20px', } const gridStyle: React.CSSProperties = { display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(250px, 1fr))', gap: '20px', marginBottom: '20px', } const statStyle: React.CSSProperties = { ...cardStyle, textAlign: 'center', } const statValueStyle: React.CSSProperties = { fontSize: '36px', fontWeight: 700, margin: '10px 0', } const statLabelStyle: React.CSSProperties = { fontSize: '14px', color: '#666', } return (
Keine anstehenden Pflichten in den nächsten 30 Tagen.
) : (