fix(dashboard): Rework workspace onboarding#6405
Conversation
Use a min-h-dvh FullScreenLayout so the onboarding and auth pages scroll instead of clipping content on short viewports. Restructure the single-step wizard into a composable OnboardingCard with a Skeleton loading state.
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — a focused UI refactor of the /new workspace onboarding page, replacing a fixed-height layout that clipped the form on short viewports with a scrollable card-based layout, plus shared full-screen layout primitives reused by the auth pages.
- New
FullScreenLayout/FullScreenContentprimitives — added toweb/internal/ui/src/components/full-screen-layout.tsxand exported fromindex.ts.FullScreenLayoutis amin-h-dvhflex column;FullScreenContentflexes to fill remaining height, so card content scrolls at the page level instead of clipping. - New
onboarding-card.tsx— shadcn-styleOnboardingCard+ Header/Title/Description/Content/Footer subcomponents. - Simplified
OnboardingContent— drops the multi-step wizard, step counter, andUserButton; renders a single card consuming{ body, submit, isDisabled, isLoading }fromuseWorkspaceStep. - Rewrote
OnboardingFallback—Skeleton-based card sized to mirror the loaded card so there's no layout jump on hydration. The Suspense fallback inpage.tsxand the loaded content now share the sameFullScreenLayout+OnboardingCardshape. - Deleted
onboarding-wizard.tsx— 183-line component removed; no remaining references in the repo (theOnboardingStep*grep hits are unrelatedprojects/apps/newcomponents). useWorkspaceStepreshaped — returns a localWorkspaceSteptype instead ofOnboardingStep, adds a pointer-device-only autofocus effect, and renamesonSubmit→submitWorkspace.Buttonimport retained (still used in the error toast).auth/layout.tsx— swaps the hand-rolledmin-h-screen+pt-16 -mt-16offset for the shared layout primitives.
Verified the wizard deletion is complete, Skeleton is a real @unkey/ui export, the autofocus effect is SSR-safe (runs in a client useEffect), and the fallback/content layouts match. The auth-page change is structurally equivalent to the prior centering; as the author noted, a visual check on WorkOS auth would be worthwhile but the risk is low. Mergeable as-is.
Claude Opus | 𝕏
chronark
left a comment
There was a problem hiding this comment.
please do not drop the signout method
I get super annoyed with some saases where I sign in via google, but choose the wrong one, and then there's no way out besides manually clearing cookies or finishing their shitty onboarding
There was a problem hiding this comment.
ℹ️ No critical issues — one minor suggestion inline.
Reviewed changes — the new commit since the prior pullfrog review re-introduces a way to sign out of the onboarding page, addressing @chronark's review feedback.
- Added a
Sign outbutton toOnboardingContent— replaces the previously removedUserButtonwith a plain button in the top-right that calls thesignOutserver action and redirects to/auth/sign-in.
Claude Opus | 𝕏
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — the new commit since the prior pullfrog review clears the React Query cache before signing out on the onboarding page.
- Clear query cache on onboarding sign out — the
Sign outhandler inOnboardingContentnow pullsuseQueryClient()and runsqueryClient.clear(); await signOut();, matching the existingUserButtonpattern (user-button.tsx:82-85). This addresses the prior suggestion about stale cached data surfacing after a re-sign-in as a different user.
Claude Opus | 𝕏

What does this PR do?
Video
https://supercut.ai/share/unkey/BN4Xkn1EZ4553tk9qEwXDT
Screenshots
Before:

After:


Type of change
How should this be tested?
/new. With a short browser window, the card content scrolls (page-level) instead of clipping — the Workspace name and URL handle fields stay reachable./auth/sign-inand/auth/sign-upstill center correctly with the shared layout.Not verified: the auth pages couldn't be exercised in local-auth mode (they redirect to
/apiswhen a session already exists). The auth layout change is type-checked and structurally equivalent to the previous centering, but a reviewer on WorkOS auth should confirm visually.Checklist
Required
Appreciated