'use client'; /** * Step 2: Complexity Assessment * * Allows users to select the project complexity level. * Script complexity triggers simplified flow (skips steps 3-4). */ import { Check } from 'lucide-react'; import { Separator } from '@/components/ui/separator'; import { cn } from '@/lib/utils'; import { SelectableCard } from '../SelectableCard'; import { complexityOptions } from '../constants'; import type { WizardState, ProjectComplexity } from '../types'; interface ComplexityStepProps { state: WizardState; updateState: (updates: Partial) => void; } export function ComplexityStep({ state, updateState }: ComplexityStepProps) { const handleSelect = (complexity: ProjectComplexity) => { updateState({ complexity }); }; return (

Project Complexity

How complex is your project? This helps us assign the right resources.

{state.complexity === 'script' && (

Scripts use a simplified flow - you'll skip to agent chat directly.

)}
{complexityOptions.map((option) => { const Icon = option.icon; const isSelected = state.complexity === option.id; return ( handleSelect(option.id)} aria-label={`${option.label}: ${option.description}`} >
{isSelected && (
)}

{option.label}

{option.description}

Scope: {option.scope}

Examples: {option.examples}

); })}
); }