feat(frontend): redesign onboarding wizard#5116
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
🚅 Deployed to the rivet-pr-5116 environment in rivet-frontend
|
PR Review: feat(frontend): redesign onboarding wizardOverviewThis PR redesigns the onboarding wizard with a card-framed layout, structured step anatomy (progress → title → description → content → action), cross-fade animations with height interpolation, and a removed dead "Explore Rivet Actors" carousel step. The changes are well-scoped and clearly motivated. Positives
IssuesMinor
Nitpick
pnpm-workspace.yamlThe removal of SummaryClean, well-motivated UI redesign. The error handling fix and |
| function AnimatedHeight({ children }: { children: ReactNode }) { | ||
| const innerRef = useRef<HTMLDivElement>(null); | ||
| const [height, setHeight] = useState<number | "auto">("auto"); | ||
|
|
||
| useLayoutEffect(() => { | ||
| const el = innerRef.current; | ||
| if (!el) return; | ||
| const measure = () => setHeight(el.offsetHeight); | ||
| measure(); | ||
| const observer = new ResizeObserver(measure); | ||
| observer.observe(el); | ||
| return () => observer.disconnect(); | ||
| }, []); | ||
|
|
||
| return directionRef.current; | ||
| return ( | ||
| <motion.div | ||
| animate={{ height }} | ||
| transition={{ duration: 0.25, ease: [0.4, 0, 0.2, 1] }} | ||
| style={{ overflow: "hidden" }} | ||
| > | ||
| <div ref={innerRef}>{children}</div> | ||
| </motion.div> | ||
| ); |
There was a problem hiding this comment.
i feel like this is supported in motion by a layout prop or height: auto
3b20080 to
85966a3
Compare
85966a3 to
3b20080
Compare
3b20080 to
ae425e7
Compare

Redesigns the Rivet onboarding wizard (cloud/compute flavor) for clearer information architecture, a more cohesive look, and smoother step transitions.
Structure
descriptionslot toStepperForm(singlePage) so the intro line is structural instead of ad-hoc per step.Per-step
StepNumberpattern. One consistent command treatment.Animation
AnimatedHeightwrapper animates the card between differently-sized steps instead of snapping.useStepperDirection,customprops) and the unusedisLastVisibleprop onStepPanel.Misc
size-5box (the Rivet mark's aspect ratio didn't match the others under the old fixed-width sizing).🤖 Generated with Claude Code