Redesign onboarding to vertical card layout with stage PNGs#1011
Conversation
…ess dots Replace the horizontal SpriteKit egg animation with a vertical card layout: meadow scene on top with crossfading stage PNGs (stage-1 through stage-5), dark content panel below with step-specific views and progress dots. - Switch to violet primary buttons, remove reaction bubbles from all steps - Add OnboardingStageImage with subtle shake/flash transitions between stages - Add OnboardingProgressDots (5 dots mapped to 7 steps) - Remove old egg/dino assets, add stage PNG resources Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
❤️ |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6eefbdf057
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| OnboardingButton( | ||
| title: "Start using \(state.assistantName.isEmpty ? "your agent" : state.assistantName)", | ||
| style: .primary | ||
| ) { | ||
| onComplete() | ||
| } |
There was a problem hiding this comment.
Restore a path from step 6 to the interview step
At this point in the flow, the only actions are onComplete() and onOpenSettings(), and neither advances onboarding state. Since OnboardingFlowView only shows InterviewStepView when currentStep > 6, users can no longer reach step 7 through normal onboarding, so the interview/profile setup path is effectively unreachable unless state is manually restored.
Useful? React with 👍 / 👎.
| .onChange(of: stageNumber) { oldStage, newStage in | ||
| guard oldStage != newStage, !isTransitioning else { return } |
There was a problem hiding this comment.
Queue stage updates that arrive during transition
This guard drops any stageNumber change that occurs while isTransitioning is true, but there is no follow-up to apply the missed stage afterward. When users move through steps quickly (for example by skipping permission steps), a mid-animation stage change can be lost and displayedStage remains out of sync with the current onboarding step until another change occurs.
Useful? React with 👍 / 👎.
Summary
Test plan
./build.sh./build.sh run(reset defaults first to trigger onboarding)🤖 Generated with Claude Code