'use client' import React, { useState, useEffect } from 'react' import Link from 'next/link' import { ZoneBadge } from '@/components/sdk/compliance-optimizer/ZoneBadge' interface OptimizationSummary { id: string title: string is_compliant: boolean constraint_version: string created_at: string zone_map: Record max_safe_config?: { safety_score: number; utility_score: number } } function countZones(zoneMap: Record) { let forbidden = 0, restricted = 0, safe = 0 for (const v of Object.values(zoneMap || {})) { if (v.zone === 'FORBIDDEN') forbidden++ else if (v.zone === 'RESTRICTED') restricted++ else safe++ } return { forbidden, restricted, safe } } export default function ComplianceOptimizerPage() { const [optimizations, setOptimizations] = useState([]) const [loading, setLoading] = useState(true) const [total, setTotal] = useState(0) useEffect(() => { fetchOptimizations() }, []) async function fetchOptimizations() { try { setLoading(true) const res = await fetch('/api/sdk/v1/maximizer/optimizations?limit=20') if (res.ok) { const data = await res.json() setOptimizations(data.optimizations || []) setTotal(data.total || 0) } } catch { // silent } finally { setLoading(false) } } return (

Compliance Optimizer

Regulatorischen Spielraum maximieren — KI-Use-Cases optimal konfigurieren

Neue Optimierung
{loading ? (
Laden...
) : optimizations.length === 0 ? (

Noch keine Optimierungen durchgefuehrt.

Erste Optimierung starten
) : (
{optimizations.map((o) => { const zones = countZones(o.zone_map) return ( ) })}
Titel Status Zonen Datum
{o.title || 'Ohne Titel'} {zones.forbidden > 0 && {zones.forbidden} verboten} {zones.restricted > 0 && {zones.restricted} eingeschraenkt} {zones.safe} erlaubt {new Date(o.created_at).toLocaleDateString('de-DE')}
{total > 20 && (
{total} Optimierungen insgesamt
)}
)}
) }