Skip to content

feat(marketing): build home page sections (workflow, personas, testimonials, FAQ, news)#12

Merged
Benjtalkshow merged 7 commits into
boundlessfi:mainfrom
Benjtalkshow:feat/marketing-home-sections
Jun 12, 2026
Merged

feat(marketing): build home page sections (workflow, personas, testimonials, FAQ, news)#12
Benjtalkshow merged 7 commits into
boundlessfi:mainfrom
Benjtalkshow:feat/marketing-home-sections

Conversation

@Benjtalkshow

@Benjtalkshow Benjtalkshow commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Implements the remaining marketing home-page sections from Figma (desktop + mobile), reusing existing components where they already exist.

Sections

  • Boundless in 4 steps — animated workflow columns (Discover, Apply, Earn, Track) with the explore/ticker/prize/escrow illustrations and shared Glow.
  • Built for Builders, Creators & Communities — audience personas as an auto-advancing stepper.
  • Trusted by Builders Worldwide — two opposite-scrolling testimonial marquees, a liquid-glass "Follow Boundless" button, and green-accent border cards. Hidden on mobile per the design.
  • Frequently Asked Questions (FAQs) — heading beside a preview accordion (first item open) linking to /faq, reusing FaqAccordion + FAQ_ITEMS.
  • Insights, Stories & Opportunities — heading with a "See more Articles" link and three blog previews, reusing BlogCard + BLOG_POSTS.

Notes

  • Adds marquee-left / marquee-right keyframes for the testimonials.
  • Fixes a background-gradient bug where a bare color used as a background-image layer voided the whole property (the section teal glows never painted); ink is now a real background-color.
  • Section background glows line up across the FAQ -> News seam.

Verification

npm run typecheck && npm run lint && npm run test && npm run build all pass (tests 14/14).

Summary by CodeRabbit

  • New Features

    • Added animated marquee display for testimonials
    • Introduced auto-advancing personas carousel
    • Expanded funding paths section with four interactive steps
    • Added blog preview to homepage
  • Style

    • Updated FAQ accordion icon colors for consistency
    • Enhanced prize pool timeline visualization
    • Redesigned testimonials section with horizontal scrolling

Complete the FundingPaths section (under the trust bar) as the four-column
"Work flows through Boundless in 4 steps" workflow, reusing the existing
animated building blocks.

- Four columns (Discover / Apply / Earn / Track) with the section header,
  bordered frame and dividers on desktop, stacked cards on mobile
- Reuse ExplorePath, CtaTicker and PrizePool; add an EscrowFlow card for
  "Track Progress" with a glassy card and primary-edge glow
- Shared Glow helper (primary mixed with the explore-path badge accent) for
  the per-column ambient glows
- PrizePool: pin the total-pool header and scroll only the tier list
- Drop the now-redundant FourSteps placeholder from the home page
Two opposite-scrolling marquee rows of social testimonials with a
liquid-glass "Follow Boundless" button and green-accent border cards.
Adds the marquee-left/right keyframes. Hidden on mobile per the design.
Heading beside a preview accordion (first item open) linking to /faq,
reusing FaqAccordion and FAQ_ITEMS. Open-item handle now uses primary.
Heading with "See more Articles" link and three blog previews,
reusing BlogCard and the first three BLOG_POSTS.
A bare color as a background-image layer voids the whole property, so
the teal glow never painted. Set ink as background-color instead.
@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

@Benjtalkshow is attempting to deploy a commit to the Threadflow Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@Benjtalkshow, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 53 minutes and 17 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7bbe6df8-d05b-4f16-a9d8-93150d9bb22e

📥 Commits

Reviewing files that changed from the base of the PR and between 3e74e1c and 479a248.

📒 Files selected for processing (1)
  • e2e/smoke.spec.ts
📝 Walkthrough

Walkthrough

This PR rebuilds the marketing homepage by implementing all placeholder marketing sections. It adds CSS marquee animations, creates new decorative components (Glow, EscrowFlow), and replaces scaffolds with fully featured sections: testimonials with seamless marquee looping, personas with auto-advancing carousel, FAQ preview, 4-step funding paths, refactored prize pool with animation, and blog teaser. The FourSteps component is removed.

Changes

Marketing Homepage Redesign

Layer / File(s) Summary
Animation Foundations & Glow Component
src/app/globals.css, src/features/marketing/components/glow.tsx
New --animate-marquee-left and --animate-marquee-right theme variables with corresponding keyframes enable 48s horizontal scrolling. Glow component provides reusable decorative blurred circular elements for marketing sections.
Testimonials Marquee Section
src/features/marketing/components/testimonials.tsx
Testimonial type and two hardcoded datasets (ROW_ONE, ROW_TWO) feed Card components (avatar, name, handle, quote). Row component duplicates items and applies direction-based animation classes. Main Testimonials exports a masked container with two animated marquee rows, a "Follow Boundless" CTA, and responsive visibility.
Personas Auto-Advancing Carousel
src/features/marketing/components/personas.tsx
Persona type and PERSONAS array (four entries) with STEP_MS timing constant. useState/useEffect auto-increments active index on interval, respecting prefers-reduced-motion. Renders dynamic progress bars and indicator dots with transition timing tied to step duration.
FAQ Section & Icon Styling
src/features/marketing/components/faq-accordion.tsx, src/features/marketing/components/faq.tsx
Fixes FaqAccordion Minus icon color from white to primary. Faq replaces placeholder with styled preview: heading, FaqAccordion with first four items, and /faq link with ArrowRight icon.
Funding Paths Steps & EscrowFlow
src/features/marketing/components/funding-paths.tsx, src/features/marketing/components/escrow-flow.tsx
FundingPaths converts to structured 4-step layout via internal Step type and STEPS array (ExplorePath, custom CtaTicker arrangement, PrizePool, EscrowFlow). New EscrowFlow component renders "Match" and "Secure" steps with Glow decorations.
Prize Pool Layout & Scrolling Animation
src/features/marketing/components/prize-pool.tsx
Timeline dot positioning corrected in PrizeRow. New TiersBlock component extracts tier rendering with optional ariaHidden. PrizePool restructured to flex-col with fixed header and dedicated scrolling wrapper duplicating TiersBlock for seamless loop animation.
News Section with Blog Teaser
src/features/marketing/components/news-section.tsx
Imports BLOG_POSTS, renders first three posts via BlogCard in responsive grid. New MoreLink component handles /blog navigation with ArrowRight. Conditionally displays link on desktop (header) and mobile (footer).
Homepage Integration
src/app/(public)/page.tsx
Removes FourSteps import and JSX component. All other marketing sections (TrustBar, FundingPaths, Personas, Testimonials, Faq, NewsSection, CtaSection) remain in place.

Sequence Diagram

sequenceDiagram
  participant HomePage
  participant TrustBar
  participant FundingPaths
  participant Personas
  participant Testimonials
  participant Faq
  participant NewsSection
  participant CtaSection
  
  HomePage->>TrustBar: render
  HomePage->>FundingPaths: render 4 steps + EscrowFlow
  HomePage->>Personas: render auto-advancing carousel
  HomePage->>Testimonials: render marquee rows (left/right)
  HomePage->>Faq: render preview + link to /faq
  HomePage->>NewsSection: render 3 blog posts + link to /blog
  HomePage->>CtaSection: render
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 A rabbit hops through marketing dreams,
With marquees spinning at light-speed streams!
Personas dance, testimonies scroll,
Four steps to fund, a journey whole.
The homepage blooms from placeholder bones.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 64.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the main changes: implementing multiple home page marketing sections (workflow, personas, testimonials, FAQ, news) as described in the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/app/globals.css`:
- Around line 183-186: Add a prefers-reduced-motion override for the infinite
marquee animations by detecting the CSS variables/animations
(--animate-marquee-left, --animate-marquee-right and the keyframes
marquee-left/marquee-right) and disabling or pausing them inside an `@media`
(prefers-reduced-motion: reduce) rule; set the animation to none (or
animation-duration: 0s / animation-play-state: paused) for those
variables/selectors so users who opt out of motion won't see continuous
scrolling—and apply the same override for the other marquee definitions
referenced later in the file (the block around the other occurrences).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d4af2f7b-a604-4487-bcd9-98668e552d7e

📥 Commits

Reviewing files that changed from the base of the PR and between 0cbd728 and 3e74e1c.

📒 Files selected for processing (11)
  • src/app/(public)/page.tsx
  • src/app/globals.css
  • src/features/marketing/components/escrow-flow.tsx
  • src/features/marketing/components/faq-accordion.tsx
  • src/features/marketing/components/faq.tsx
  • src/features/marketing/components/funding-paths.tsx
  • src/features/marketing/components/glow.tsx
  • src/features/marketing/components/news-section.tsx
  • src/features/marketing/components/personas.tsx
  • src/features/marketing/components/prize-pool.tsx
  • src/features/marketing/components/testimonials.tsx
💤 Files with no reviewable changes (1)
  • src/app/(public)/page.tsx

Comment thread src/app/globals.css
Comment on lines +183 to +186
/* Marketing: testimonials. Two duplicated rows slide horizontally in
opposite directions for a seamless loop (-50% = one copy). */
--animate-marquee-left: marquee-left 48s linear infinite;
--animate-marquee-right: marquee-right 48s linear infinite;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Respect reduced-motion preferences for infinite marquee animations.

The new marquee animations run infinitely but there is no prefers-reduced-motion fallback. Add a reduced-motion override so desktop users who opt out of motion do not get continuous scrolling.

Proposed fix
 `@keyframes` marquee-right {
   from {
     transform: translateX(-50%);
   }
   to {
     transform: translateX(0);
   }
 }
+
+@media (prefers-reduced-motion: reduce) {
+  .animate-marquee-left,
+  .animate-marquee-right {
+    animation: none !important;
+    transform: none !important;
+  }
+}

Also applies to: 198-214

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/app/globals.css` around lines 183 - 186, Add a prefers-reduced-motion
override for the infinite marquee animations by detecting the CSS
variables/animations (--animate-marquee-left, --animate-marquee-right and the
keyframes marquee-left/marquee-right) and disabling or pausing them inside an
`@media` (prefers-reduced-motion: reduce) rule; set the animation to none (or
animation-duration: 0s / animation-play-state: paused) for those
variables/selectors so users who opt out of motion won't see continuous
scrolling—and apply the same override for the other marquee definitions
referenced later in the file (the block around the other occurrences).

The workflow section title reuses "Discover Opportunities", so the
regex matched two headings and tripped Playwright strict mode.
@Benjtalkshow Benjtalkshow merged commit 48e58d7 into boundlessfi:main Jun 12, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant