improvement(landing): refine hero and mothership visuals#5181
improvement(landing): refine hero and mothership visuals#5181andresdjasso wants to merge 8 commits into
Conversation
Tell-then-show landing: the Mothership section defines the five capabilities (Mothership · Pod · Formation · Dispatch · Return); the Features section now shows each as a real Sim UI callout floating over a static, edge-faded platform backdrop (Linear's "callout over a faded platform" pattern). - FeatureStage template: copy + masked static LandingPreview + elevated callout - LandingPreview: static autoplay=false snapshots with per-stage view/workflowId - Callouts: Mothership chat, model picker, parallel-agents Formation graph, deploy targets, logs table - Pre-footer CTA set over the Mothership render; removed the old capabilities grid Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Hero visual: clicking send zooms into the button, morphs the disc into the gooey thinking loader (held, then cycling), slides it straight across to a phrase indicator with the camera following (no zoom-out), then zooms back out as the reply types and the chat morphs into the GitHub→Agent→Jira workflow. The chat card holds a fixed size through the zoomed scene and the greeting reserves its space, so nothing drifts; the user bubble reveals only on zoom-out. Loader ink tweens dark→gradient via the thinking-loader stop-color/flood-color transition. Also folds in in-progress landing work: knowledge + integrations feature callouts, CTA chat, mothership + line-glyph, wordmark tweak; removes the ethos and testimonials sections. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Make the landing page fully responsive while keeping the desktop layout byte-identical (desktop classes stay the unprefixed baseline; smaller screens layer max-* overrides on top). - Navbar: hide desktop clusters below lg, add MobileNav hamburger sheet (scroll-lock, Escape/tap close, reduced-motion aware) - Hero: collapse the absolute split (visual + logos) to a stacked column below xl so iPad-landscape avoids the headline/visual collision - Mothership: 4-col grid steps to 2 (tablet) then 1 (phone) - Features: drop the floating callout below md, show the un-masked backdrop preview full-width - CTA + Footer: scale type/padding; footer 7-col steps to 3 then 2 - Document the breakpoint strategy in the landing CLAUDE.md Also includes the in-progress mothership goo/iso brand marks and the marks-lab preview route the section depends on. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The grey user bubble's fade-in raced the card's upward grow on send. Hold the bubble's reveal until after the parent-driven grow settles so the card expands fully before the bubble appears. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Too many files changed for review. ( |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview The hero, features, footer, and auth modal on the legacy home landing are expanded or re-authored—tabbed workspace features with scroll-driven headline reveal, footer nav/CTA, and a modal that handles social providers, SSO, and email signup with PostHog tracking. Landing preview gains richer product demos: a Mothership home flow that auto-types a prompt, shows tool calls, types a response, and slides in a Customer Leads table; plus static Files, Knowledge Base, Logs, and Scheduled Tasks list views built on a shared searchable resource table component. Two large agent skills are added ( Reviewed by Cursor Bugbot for commit ab13546. Bugbot is set up for automated code reviews on this repo. Configure here. |
| timersRef.current.push(t1) | ||
|
|
||
| return clearAllTimers | ||
| }, [autoType, clearAllTimers]) |
There was a problem hiding this comment.
Home view stuck mid-demo
Medium Severity
When the hero preview’s auto-demo is running on Home and the user selects Home again (or auto-play is stopped while that view stays mounted), autoType becomes false but chatPhase and related demo state are not reset. The component keeps rendering the scripted chat instead of the empty “What should we get done?” input, so manual Home navigation shows the wrong UI.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 5d41c37. Configure here.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
There are 3 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ab13546. Configure here.
| applyDemoStep(DESKTOP_STEPS[0]) | ||
| scheduleNextStep() | ||
| return clearDemoTimer | ||
| }, [applyDemoStep, scheduleNextStep, clearDemoTimer]) |
There was a problem hiding this comment.
Desktop demo ignores resize
Low Severity
The hero LandingPreview auto-cycle starts only once on mount when the viewport is at least lg. If the page first loads below that breakpoint and the user later widens the window, isDesktop never updates and the timed demo sequence never starts, leaving a static workflow on an otherwise desktop-sized hero.
Reviewed by Cursor Bugbot for commit ab13546. Configure here.
| const [highlightedBlockId, setHighlightedBlockId] = useState<string | null>(null) | ||
| const [autoTableId, setAutoTableId] = useState<string | null>(null) | ||
| const [autoTypeHome, setAutoTypeHome] = useState(false) | ||
| const [isDesktop, setIsDesktop] = useState(true) |
There was a problem hiding this comment.
Mobile hero assumes desktop
Low Severity
LandingPreview initializes isDesktop to true, so the first client render always takes the desktop branch (multi-view AnimatePresence and cycling) until the mount effect runs. On narrow viewports that produces a visible flash of the wrong hero preview before switching to the static mobile workflow.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit ab13546. Configure here.


Summary
Type of Change
Testing
bun run lintbun run check:api-validation:strictbun run type-check/landing-previewChecklist