Agent-completed splits committed after agents hit rate limits before committing their work. All 4 pages now under 500 LOC: - consent-management: 1303 -> 193 LOC (+ 7 _components, _hooks, _data, _types) - control-library: 1210 -> 298 LOC (+ _components, _types) - incidents: 1150 -> 373 LOC (+ _components) - training: 1127 -> 366 LOC (+ _components) Verification: next build clean (142 pages generated). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
'use client'
|
|
|
|
import type { ConsentStats } from '../_types'
|
|
|
|
export function StatsTab({ consentStats }: { consentStats: ConsentStats }) {
|
|
return (
|
|
<div className="p-6">
|
|
<h2 className="text-lg font-semibold text-slate-900 mb-6">Statistiken</h2>
|
|
|
|
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
|
|
<div className="bg-slate-50 rounded-xl p-6">
|
|
<div className="text-3xl font-bold text-slate-900">{consentStats.activeConsents}</div>
|
|
<div className="text-sm text-slate-500 mt-1">Aktive Zustimmungen</div>
|
|
</div>
|
|
<div className="bg-slate-50 rounded-xl p-6">
|
|
<div className="text-3xl font-bold text-slate-900">{consentStats.documentCount}</div>
|
|
<div className="text-sm text-slate-500 mt-1">Dokumente</div>
|
|
</div>
|
|
<div className="bg-slate-50 rounded-xl p-6">
|
|
<div className={`text-3xl font-bold ${consentStats.openDSRs > 0 ? 'text-orange-600' : 'text-slate-900'}`}>
|
|
{consentStats.openDSRs}
|
|
</div>
|
|
<div className="text-sm text-slate-500 mt-1">Offene DSR-Anfragen</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div className="border border-slate-200 rounded-lg p-6">
|
|
<h3 className="font-semibold text-slate-900 mb-4">Zustimmungsrate nach Dokument</h3>
|
|
<div className="text-center py-8 text-slate-400 text-sm">
|
|
Diagramm wird in einer zukuenftigen Version verfuegbar sein
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|