'use client' /** * SBOM (Software Bill of Materials) - Lern-Wizard * * Interaktiver Wizard zum Verstehen der SBOM */ import { useState } from 'react' import Link from 'next/link' import { INITIAL_STEPS, WizardStep } from './_components/types' import { WizardStepper, EducationCard } from './_components/WizardComponents' import { CategoryDemo } from './_components/CategoryDemo' export default function SBOMWizardPage() { const [currentStep, setCurrentStep] = useState(0) const [steps, setSteps] = useState(INITIAL_STEPS) const currentStepData = steps[currentStep] const isWelcome = currentStepData?.id === 'welcome' const isSummary = currentStepData?.id === 'summary' const goToNext = () => { if (currentStep < steps.length - 1) { setSteps(prev => prev.map((step, idx) => idx === currentStep && step.status === 'pending' ? { ...step, status: 'completed' } : step )) setCurrentStep(prev => prev + 1) } } const goToPrev = () => { if (currentStep > 0) { setCurrentStep(prev => prev - 1) } } const handleStepClick = (index: number) => { setCurrentStep(index) } return (
{/* Header */}

📋 SBOM Lern-Wizard

Software Bill of Materials verstehen

← Zurueck zur SBOM
{/* Stepper */}
{/* Content */}
{/* Step Header */}
{currentStepData?.icon}

Schritt {currentStep + 1}: {currentStepData?.name}

{currentStep + 1} von {steps.length}

{/* Education Card */} {/* Category Demo */} {/* Welcome Start Button */} {isWelcome && (
)} {/* Summary Actions */} {isSummary && (
📋 Zur SBOM
)} {/* Navigation */} {!isWelcome && (
{!isSummary && ( )}
)}
{/* Footer Info */}
BreakPilot SBOM - 180+ Komponenten dokumentiert
) }