From b6e604cfbbcf0f1e4ce40290b23f3cda0b36296c Mon Sep 17 00:00:00 2001 From: AndyMik90 Date: Mon, 15 Dec 2025 17:09:09 +0100 Subject: [PATCH] auto-claude: subtask-2-1 - Create WizardProgress component - step progress indicator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added WizardProgress.tsx component with numbered circles and connecting lines - Supports completed, current, and upcoming step visual states - Uses Check icon from lucide-react for completed steps - Follows existing patterns from AppSettings.tsx and progress.tsx - Exported WizardStep interface for use by other wizard components 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../components/onboarding/WizardProgress.tsx | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 auto-claude-ui/src/renderer/components/onboarding/WizardProgress.tsx 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 && ( +
+ )} +
+ ); + })} +
+ ); +}