'use client' /** * Compliance Regulation Scraper Admin Page * * Manages the extraction of requirements and audit aspects from: * - EUR-Lex regulations (GDPR, AI Act, CRA, NIS2, etc.) * - BSI Technical Guidelines (TR-03161) * - German laws */ import AdminLayout from '@/components/admin/AdminLayout' import SystemInfoSection, { SYSTEM_INFO_CONFIGS } from '@/components/admin/SystemInfoSection' import { useComplianceScraper } from './_components/useComplianceScraper' import ScraperTabs from './_components/ScraperTabs' export default function ComplianceScraperPage() { const scraper = useComplianceScraper() const StatsCard = ({ title, value, subtitle, icon }: { title: string; value: number | string; subtitle?: string; icon: string }) => (
{icon}

{title}

{value}

{subtitle &&

{subtitle}

}
) return ( {scraper.loading && (
Lade Quellen...
)} {!scraper.loading && ( <> {scraper.error && (
{scraper.error}
)} {scraper.success && (
{scraper.success}
)}
s.has_data).length} subtitle={`${scraper.sources.length - scraper.sources.filter(s => s.has_data).length} noch zu scrapen`} icon="✅" /> acc + s.requirement_count, 0)} icon="📋" />
{(scraper.scraping || scraper.status?.status === 'running') && (

Scraper laeuft

{scraper.status?.current_source && (

Aktuell: {scraper.status.current_source}

)}
)}
)}
) }