import { useState } from 'react' import { X, ChevronRight, ChevronLeft, Sparkles, Settings, BookOpen, Check, Palette, Save } from 'lucide-react' import { useTheme } from './ThemeContext' const steps = [ { id: 'welcome', title: 'Welcome to NeuroArch Studio', description: 'Let\'s get you started with a quick setup', icon: Sparkles }, { id: 'project', title: 'Project Settings', description: 'Configure your neural architecture project', icon: Settings }, { id: 'preferences', title: 'Preferences', description: 'Customize your workspace appearance', icon: Palette }, { id: 'tutorial', title: 'Interactive Tutorial', description: 'Learn the basics with our guided tour', icon: BookOpen }, { id: 'complete', title: 'All Set!', description: 'You\'re ready to start building', icon: Check } ] export default function SetupWizard({ onComplete, onSkip }) { const [currentStep, setCurrentStep] = useState(0) const [formData, setFormData] = useState({ projectName: 'My Neural Network', framework: 'pytorch', autoSave: true, theme: 'light', showGrid: true, snapToGrid: true }) const { setTheme } = useTheme() const handleNext = () => { if (currentStep < steps.length - 1) { setCurrentStep(currentStep + 1) } else { localStorage.setItem('project-settings', JSON.stringify(formData)) setTheme(formData.theme) onComplete() } } const handlePrevious = () => { if (currentStep > 0) { setCurrentStep(currentStep - 1) } } const handleInputChange = (e) => { const { name, value, type, checked } = e.target setFormData(prev => ({ ...prev, [name]: type === 'checkbox' ? checked : value })) } const CurrentStepComponent = () => { switch (currentStep) { case 0: return (
Design neural architectures visually with our powerful node-based editor
The tutorial will start automatically after setup. You can skip it and access it later from the header.
💡 Tip: The tutorial adapts to your experience level and focuses on features you'll use most.
Your workspace is configured and ready to go
{steps[currentStep].description}