backend-lehrer (10 files): - game/database.py (785 → 5), correction_api.py (683 → 4) - classroom_engine/antizipation.py (676 → 5) - llm_gateway schools/edu_search already done in prior batch klausur-service (12 files): - orientation_crop_api.py (694 → 5), pdf_export.py (677 → 4) - zeugnis_crawler.py (676 → 5), grid_editor_api.py (671 → 5) - eh_templates.py (658 → 5), mail/api.py (651 → 5) - qdrant_service.py (638 → 5), training_api.py (625 → 4) website (6 pages): - middleware (696 → 8), mail (733 → 6), consent (628 → 8) - compliance/risks (622 → 5), export (502 → 5), brandbook (629 → 7) studio-v2 (3 components): - B2BMigrationWizard (848 → 3), CleanupPanel (765 → 2) - dashboard-experimental (739 → 2) admin-lehrer (4 files): - uebersetzungen (769 → 4), manager (670 → 2) - ChunkBrowserQA (675 → 6), dsfa/page (674 → 5) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
69 lines
2.2 KiB
TypeScript
69 lines
2.2 KiB
TypeScript
'use client'
|
|
|
|
/**
|
|
* Audit Export Wizard
|
|
*
|
|
* Features:
|
|
* - Export type selection
|
|
* - Scope filtering (regulations, domains)
|
|
* - Export generation
|
|
* - Download
|
|
* - Export history
|
|
*/
|
|
|
|
import Link from 'next/link'
|
|
import AdminLayout from '@/components/admin/AdminLayout'
|
|
import { useExport } from './_components/useExport'
|
|
import ExportWizard from './_components/ExportWizard'
|
|
import ExportHistory from './_components/ExportHistory'
|
|
|
|
export default function ExportPage() {
|
|
const exp = useExport()
|
|
|
|
return (
|
|
<AdminLayout title="Audit Export" description="Export fuer externe Pruefer">
|
|
{/* Header */}
|
|
<div className="flex flex-wrap items-center gap-4 mb-6">
|
|
<Link
|
|
href="/admin/compliance"
|
|
className="text-sm text-slate-500 hover:text-slate-700 flex items-center gap-1"
|
|
>
|
|
<svg className="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M10 19l-7-7m0 0l7-7m-7 7h18" />
|
|
</svg>
|
|
Zurueck
|
|
</Link>
|
|
</div>
|
|
|
|
{exp.loading ? (
|
|
<div className="flex items-center justify-center h-64">
|
|
<div className="animate-spin rounded-full h-12 w-12 border-b-2 border-primary-600" />
|
|
</div>
|
|
) : (
|
|
<div className="grid grid-cols-1 lg:grid-cols-3 gap-6">
|
|
<ExportWizard
|
|
wizardStep={exp.wizardStep}
|
|
setWizardStep={exp.setWizardStep}
|
|
exportType={exp.exportType}
|
|
setExportType={exp.setExportType}
|
|
regulations={exp.regulations}
|
|
selectedRegulations={exp.selectedRegulations}
|
|
toggleRegulation={exp.toggleRegulation}
|
|
selectedDomains={exp.selectedDomains}
|
|
toggleDomain={exp.toggleDomain}
|
|
generating={exp.generating}
|
|
startExport={exp.startExport}
|
|
currentExport={exp.currentExport}
|
|
resetWizard={exp.resetWizard}
|
|
downloadExport={exp.downloadExport}
|
|
/>
|
|
<ExportHistory
|
|
exports={exp.exports}
|
|
downloadExport={exp.downloadExport}
|
|
/>
|
|
</div>
|
|
)}
|
|
</AdminLayout>
|
|
)
|
|
}
|