import React, { useState } from 'react'; const WIZARD_TYPES = { first_time_setup: { title: 'Welcome to GooseStrike', steps: [ { id: 'intro', title: 'Introduction', icon: '👋' }, { id: 'phases', title: 'Methodology', icon: '📋' }, { id: 'tools', title: 'Security Tools', icon: '🛠️' }, { id: 'start', title: 'Get Started', icon: '🚀' }, ], }, run_scan: { title: 'Run Security Scan', steps: [ { id: 'target', title: 'Target Selection', icon: '🎯' }, { id: 'scan-type', title: 'Scan Type', icon: '🔍' }, { id: 'options', title: 'Options', icon: '⚙️' }, { id: 'execute', title: 'Execute', icon: '▶️' }, ], }, create_operation: { title: 'Create Security Operation', steps: [ { id: 'details', title: 'Operation Details', icon: '📝' }, { id: 'scope', title: 'Target Scope', icon: '🎯' }, { id: 'methodology', title: 'Methodology', icon: '📋' }, { id: 'review', title: 'Review', icon: '✅' }, ], }, }; const GuidedWizard = ({ type = 'first_time_setup', onComplete = () => {}, onCancel = () => {} }) => { const wizard = WIZARD_TYPES[type] || WIZARD_TYPES.first_time_setup; const [currentStep, setCurrentStep] = useState(0); const [formData, setFormData] = useState({}); const handleNext = () => { if (currentStep < wizard.steps.length - 1) { setCurrentStep(currentStep + 1); } else { onComplete(formData); } }; const handleBack = () => { if (currentStep > 0) { setCurrentStep(currentStep - 1); } }; const handleInputChange = (key, value) => { setFormData({ ...formData, [key]: value }); }; const progress = ((currentStep + 1) / wizard.steps.length) * 100; return (
{/* Header */}

{wizard.title}

{wizard.steps.map((step, idx) => (
{step.icon}
{step.title}
))}
{/* Body */}
{/* Render step content based on wizard type and current step */} {type === 'first_time_setup' && currentStep === 0 && (

Welcome to GooseStrike! 🍁

GooseStrike is an AI-powered penetration testing platform that follows industry-standard methodologies to help you identify security vulnerabilities.

  • AI-assisted security analysis with local or cloud LLMs
  • 600+ integrated Kali Linux security tools
  • Voice control for hands-free operation
  • Interactive network visualization
  • Comprehensive reporting and documentation
)} {type === 'run_scan' && currentStep === 0 && (

Select Target

handleInputChange('target', e.target.value)} />
)} {/* Add more step content as needed */}
{/* Footer */}
{currentStep > 0 && ( )}
); }; export default GuidedWizard;