diff --git a/auto-claude-ui/src/renderer/components/onboarding/WizardProgress.tsx b/auto-claude-ui/src/renderer/components/onboarding/WizardProgress.tsx new file mode 100644 index 00000000..290b2781 --- /dev/null +++ b/auto-claude-ui/src/renderer/components/onboarding/WizardProgress.tsx @@ -0,0 +1,73 @@ +import { Check } from 'lucide-react'; +import { cn } from '../../lib/utils'; + +export interface WizardStep { + id: string; + label: string; + completed: boolean; +} + +interface WizardProgressProps { + currentStep: number; + steps: WizardStep[]; +} + +/** + * Step progress indicator component for the onboarding wizard. + * Displays numbered circles connected by lines, with visual states + * for completed, current, and upcoming steps. + */ +export function WizardProgress({ currentStep, steps }: WizardProgressProps) { + return ( +
+ {steps.map((step, index) => { + const isCompleted = step.completed; + const isCurrent = index === currentStep; + const isUpcoming = index > currentStep; + + return ( +
+ {/* Step indicator circle */} +
+
+ {isCompleted ? ( + + ) : ( + {index + 1} + )} +
+ {/* Step label below circle */} + + {step.label} + +
+ + {/* Connecting line (not after last step) */} + {index < steps.length - 1 && ( +
+ )} +
+ ); + })} +
+ ); +}