feat(onboarding): redesign onboarding v2 page#5593
feat(onboarding): redesign onboarding v2 page#5593tsahimatsliah wants to merge 20 commits intomainfrom
Conversation
…arch field Introduce the onboarding redesign page and add a layout-level toggle to hide the header search field so onboarding can use a cleaner, focused header without CSS workarounds. Co-authored-by: Cursor <cursoragent@cursor.com>
- Mobile feed cards use flat list mode (full width, no bg, no radius) - Desktop card limit set to 18, mobile to 10 with progressive fade-out - Add dark gradient overlay with progressive blur (mask-image) behind the personalization panel so feed cards fade naturally underneath - Restore sticky scroll behavior so panel pins at center of viewport - Sidebar fully disabled with low opacity, grayscale, and no interaction - All modals use z-modal to render above header (login/signup blocked) - Body scroll locked while any modal is open - GitHub import modal compacted: smaller orb, 2-col seniority grid, tighter spacing, close button inside card - Section titles set to white with larger typography Co-authored-by: Cursor <cursoragent@cursor.com>
Improve onboarding-v2 engagement and conversion UX by adding live feed ticker behavior, tightening hero/panel layouts, and refining GitHub/AI onboarding CTAs and copy. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Add logo with login/signup buttons for mobile, tone down glow intensity, simplify tag pill animations, and tighten spacing. Co-authored-by: Cursor <cursoragent@cursor.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@claude Review the PR. |
|
Claude finished @tsahimatsliah's task in 10m 57s —— View job PR Review & Build Fix
Build FixTwo ESLint errors were found that caused the Vercel build to fail:
Fix committed:
Code ReviewThe feature is visually impressive but the implementation has several concerns worth addressing in follow-up: Critical — DOM Mutation Anti-patternsLive engagement ticker mutates the DOM directly ( // ❌ Current approach
const label = document.createElement('label');
label.htmlFor = btnId;
wrapper.appendChild(label);
// ✅ Better: track counters in React state and render themArchitecture3540-line single-file component — The entire page — state, business logic, all UI sub-flows, and ~670 lines of global CSS — lives in one file. Per the CLAUDE.md philosophy of pragmatic iteration, this will be hard to maintain or A/B test. The distinct flows (GitHub import, AI setup, extension promo, confetti, signup chooser) could each be extracted into focused components. ~670-line GitHub orb visualization is copy-pasted 3× — The animated orb with rotating rings, incoming particles, and center icon appears in the personalization panel (×2) and the import overlay. Extract to a shared GitHub icon SVG path duplicated ~5× — Should be extracted as a shared Design System ViolationsHardcoded hex colors in inline styles ( // ❌ Hardcoded
bg-[#0e1217]
background: 'rgba(168,85,247,0.06)'
// ✅ Use design tokens
bg-background-default
bg-accent-onion-default/6Logic
Shared ChangesThe SummaryThe build fix is pushed. The two ESLint errors were the root cause of Vercel's failure. The review findings above are improvements worth tracking — the DOM mutation ticker is the most important to address before this goes to high traffic. |
…fix ESLint build errors - Remove unused `panelShadowOpacity` variable that was flagged by @typescript-eslint/no-unused-vars - Replace `for...of` loop in `findCounterIn` with `Array.prototype.find()` to satisfy airbnb no-restricted-syntax rule Co-authored-by: Tsahi Matsliah <tsahimatsliah@users.noreply.github.com>
|
@claude dix all issues and make sure all are green. |
|
Claude finished @tsahimatsliah's task in 12m 20s —— View job All Issues Fixed
Changes (commit
|
…ors, constants - Refactor live engagement ticker floaters from direct DOM manipulation to React state + fixed overlay, eliminating DOM mutations outside React - Scope scroll-reveal MutationObserver from document.body to .onb-feed-stage container to avoid site-wide DOM change listeners - Replace hardcoded bg-[#0e1217] with bg-raw-pepper-90 design system token - Replace rgba(168,85,247,...) hardcoded colors in CSS with color-mix(in srgb, var(--theme-accent-onion-default) N%, transparent) - Remove misleading panelBackdropOpacity = 1 constant, use 1 directly - Add mobileAppUrl constant to shared/lib/constants.ts and use it instead of hardcoding https://app.daily.dev Co-authored-by: Tsahi Matsliah <tsahimatsliah@users.noreply.github.com>
…olor ESLint error bg-[length:200%_auto] in a literal className triggers the no-custom-color rule since it starts with 'bg-' but isn't a design system color token. Move background-size: 200% auto into the .onb-gradient-text CSS class. Co-authored-by: Tsahi Matsliah <tsahimatsliah@users.noreply.github.com>
Fix prettier formatting, nested ternaries, no-void, no-plusplus, unused variable, and styled-jsx unknown property errors in onboarding-v2. Add sidebar disabled state for onboarding flow. Co-authored-by: Cursor <cursoragent@cursor.com>
… builds - Remove unused getExperienceLevelIcon function - Remove void operator from toggleSidebarExpanded (no-void) - Fix i-- to i -= 1 in Fisher-Yates shuffle (no-plusplus) - Add eslint-disable for necessary DOM reflow void expression - Replace nested ternaries with lookup maps and helper variables - Fix array index keys to use stable identifiers (tag.label, s.delay) - Add eslint-disable for styled-jsx react/no-unknown-property - Apply Prettier formatting and Tailwind class ordering fixes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Flatten the conditional className expression to match Prettier formatting so shared lint and CI build pass. Co-authored-by: Cursor <cursoragent@cursor.com>
…eat/redesign-onboarding
- Fix unused variable warnings from removed pre-return computed vars - Fix `? (` missing ternary else branch introduced during merge - Fix Prettier formatting in SidebarDesktop.tsx Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…eat/redesign-onboarding
…eat/redesign-onboarding
Summary
Test plan
Made with Cursor
Preview domain
https://feat-redesign-onboarding.preview.app.daily.dev