'use client' import React from 'react' import { useRouter } from 'next/navigation' import { useTOMGenerator } from '@/lib/sdk/tom-generator' import { ReviewExportStep } from '@/components/sdk/tom-generator/steps/ReviewExportStep' import { TOM_GENERATOR_STEPS } from '@/lib/sdk/tom-generator/types' /** * Step 6: Review & Export * * Final step including: * - Summary of all steps * - Derived TOMs table * - Gap analysis visualization * - Evidence Vault overview * - Export (Word/PDF/JSON/ZIP) */ export default function ReviewPage() { const router = useRouter() const { state, goToPreviousStep } = useTOMGenerator() const currentStepIndex = TOM_GENERATOR_STEPS.findIndex((s) => s.id === 'review-export') const prevStep = TOM_GENERATOR_STEPS[currentStepIndex - 1] const handleBack = () => { goToPreviousStep() if (prevStep) { router.push(prevStep.url) } } // Check if all previous steps are completed const allPreviousStepsCompleted = TOM_GENERATOR_STEPS .slice(0, currentStepIndex) .every((step) => { const stepState = state.steps.find((s) => s.id === step.id) return stepState?.completed }) return (
{/* Step Header */}
Schritt 6 von 6 | Review & Export

Zusammenfassung & Export

Pruefen Sie Ihre abgeleiteten TOMs, analysieren Sie Luecken und exportieren Sie Ihre Dokumentation in verschiedenen Formaten.

{/* Progress Indicator */}
{TOM_GENERATOR_STEPS.map((step, index) => { const stepState = state.steps.find((s) => s.id === step.id) const isCompleted = stepState?.completed const isCurrent = state.currentStep === step.id return ( {index < TOM_GENERATOR_STEPS.length - 1 && (
)} ) })}
{/* Warning if previous steps not completed */} {!allPreviousStepsCompleted && (
Nicht alle Schritte abgeschlossen

Bitte schliessen Sie alle vorherigen Schritte ab, um eine vollstaendige TOM-Dokumentation zu generieren. Fehlende Informationen fuehren zu unvollstaendigen Empfehlungen.

)} {/* Step Content */}
{/* Navigation */}
) }