Skip to content

feat(about): add AboutHero section and about page route#337

Merged
Benjtalkshow merged 3 commits into
boundlessfi:mainfrom
shogun444:feat/about-hero
Jul 27, 2026
Merged

feat(about): add AboutHero section and about page route#337
Benjtalkshow merged 3 commits into
boundlessfi:mainfrom
shogun444:feat/about-hero

Conversation

@shogun444

@shogun444 shogun444 commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements the About page hero section for Issue #330 using the shared marketing primitives and introduces the /about route.

To keep the About page visually consistent with the existing landing experience, the hero follows the same typography, spacing, and layout patterns as the homepage while using the copy provided in the issue.


Type of Change

  • New feature (non-breaking change which adds functionality)
  • Bug fix
  • Breaking change
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Build/CI update
  • Security update

Related Issues

Closes #330


Changes Made

  • Added components/about/about-hero.tsx.
  • Added the /about page route (app/about/page.tsx).
  • Built the hero using the existing Section, SectionHeading, and Eyebrow primitives from components/marketing/section.tsx.
  • Updated SectionHeading to support an optional descriptionClassName prop for reusable description styling.
  • Matched the About hero's typography, spacing, and visual hierarchy with the existing homepage hero for a consistent marketing experience.
  • Used the exact badge, headline, and subheading copy specified in the issue.

Design Notes

The About page is intended to introduce the people behind the ecosystem rather than the platform itself. The implementation keeps the hero intentionally minimal while aligning it with the visual language already established on the homepage.

The component reuses the existing design system primitives instead of introducing custom hero markup, making it consistent with the rest of the marketing pages.


Testing

  • npm run lint
  • npm run build

Verification

  • Uses Section, SectionHeading, and Eyebrow
  • Renders the exact badge, headline, and subheading from the issue
  • No data fetching
  • Responsive layout matches existing marketing sections
  • About page renders correctly at /about

Screenshots

Screenshot 2026-07-26 235615 image Screenshot 2026-07-27 000458

Homepage Hero (reference)

Used as the visual reference to keep typography and spacing consistent.

About Page

Implemented About hero using the shared marketing primitives while matching the existing homepage design language.


Checklist

  • My code follows the project's coding style
  • I have performed a self-review
  • No new warnings or build errors
  • npm run lint passes
  • npm run build passes

Summary by CodeRabbit

  • New Features
    • Added a new About page with consistent site header and footer navigation.
    • Introduced an About hero section featuring a highlighted headline, descriptive text, and partner logos.
    • Added responsive layout and typography styling for improved presentation across screen sizes.

@vercel

vercel Bot commented Jul 26, 2026

Copy link
Copy Markdown

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

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jul 26, 2026

Copy link
Copy Markdown

@shogun444 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

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.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 153ec88a-8f0c-4410-9e16-75d602d7f0fa

📥 Commits

Reviewing files that changed from the base of the PR and between d0e2b69 and a587b3a.

📒 Files selected for processing (2)
  • components/about/about-hero.tsx
  • components/marketing/hero-section.tsx
📝 Walkthrough

Walkthrough

Adds the /about page with shared site navigation and footer, plus a hero containing partner logos, a two-color headline, and descriptive copy.

Changes

About page

Layer / File(s) Summary
Compose About page hero
components/about/about-hero.tsx, app/about/page.tsx
AboutHero renders the shared hero section with partner logos and static headline/description content; AboutPage composes it between SiteHeader and SiteFooter.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related issues

  • #333 — Both changes compose the /about route, though that issue covers additional sections and a CTA beyond this hero implementation.

Suggested reviewers: benjtalkshow

Poem

A bunny hops where new pages grow,
Header above and footer below.
Partner logos gleam in the light,
The hero speaks bold, clear, and bright.
“About!” says the rabbit—what a delight!

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR adds the About hero copy, but it does not follow #330's required Section/SectionHeading/Eyebrow primitives and includes extra PartnerLogos UI. Refactor AboutHero to use the shared marketing section primitives, remove PartnerLogos and other extras, and keep only the exact badge, headline, and subheading.
Out of Scope Changes check ⚠️ Warning The hero adds a PartnerLogos row and shared shell details that are beyond the hero-only scope in #330. Limit the change to the hero copy block; remove the partner-logo row and any other non-hero elements.
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding the About hero and /about route.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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 `@components/about/about-hero.tsx`:
- Around line 10-14: Update the headline JSX in the about hero title to append a
period immediately after the highlighted “products” span, preserving the
existing text and styling.
- Around line 6-7: Remove the canvas-backed HeroBackground wrapper from the
About hero and replace it with a CSS-only background or wrapper around Section.
Preserve the existing Section content, classes, and layout while ensuring
HeroBackground is no longer mounted.

In `@components/marketing/section.tsx`:
- Around line 79-88: Update the h2 className in the section component so the
mt-6 margin is applied only when eyebrow is present, while preserving the
existing heading classes for sections without an eyebrow.
🪄 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 Plus

Run ID: f2d9f4bc-5cfb-4567-aaf2-1a02244b99b7

📥 Commits

Reviewing files that changed from the base of the PR and between 7d9ad06 and fcf843e.

📒 Files selected for processing (3)
  • app/about/page.tsx
  • components/about/about-hero.tsx
  • components/marketing/section.tsx

Comment thread components/about/about-hero.tsx Outdated
Comment on lines +6 to +7
<HeroBackground fieldHeight={640} fadeBottom>
<Section className='py-24 text-center lg:py-32'>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🚀 Performance & Scalability | 🟠 Major | ⚡ Quick win

Remove the canvas-backed HeroBackground from the About hero.

HeroBackground mounts an animated <canvas>, but the Issue #330 acceptance criteria explicitly require the hero to avoid a background canvas. Use a CSS-only background/wrapper around Section instead.

🤖 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 `@components/about/about-hero.tsx` around lines 6 - 7, Remove the canvas-backed
HeroBackground wrapper from the About hero and replace it with a CSS-only
background or wrapper around Section. Preserve the existing Section content,
classes, and layout while ensuring HeroBackground is no longer mounted.

Comment thread components/about/about-hero.tsx Outdated
Comment on lines +10 to +14
title={
<>
The people behind the{' '}
<span className='text-primary-500'>products</span>
</>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Match the required headline copy.

The required headline ends with a period: The people behind the products. Add the missing . after the highlighted word.

🤖 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 `@components/about/about-hero.tsx` around lines 10 - 14, Update the headline
JSX in the about hero title to append a period immediately after the highlighted
“products” span, preserving the existing text and styling.

Comment thread components/marketing/section.tsx Outdated
Comment on lines +79 to +88
{eyebrow ? (
typeof eyebrow === 'string' ? (
<Eyebrow>{eyebrow}</Eyebrow>
) : (
eyebrow
)
) : null}
<h2
className={cn(
'font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',
'mt-6 font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make heading spacing conditional on an eyebrow.

mt-6 is now applied to every heading, including SectionHeading instances without an eyebrow. Apply this margin only when eyebrow is present.

Proposed fix
 className={cn(
-  'mt-6 font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',
+  eyebrow && 'mt-6',
+  'font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',
   titleClassName
 )}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{eyebrow ? (
typeof eyebrow === 'string' ? (
<Eyebrow>{eyebrow}</Eyebrow>
) : (
eyebrow
)
) : null}
<h2
className={cn(
'font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',
'mt-6 font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',
{eyebrow ? (
typeof eyebrow === 'string' ? (
<Eyebrow>{eyebrow}</Eyebrow>
) : (
eyebrow
)
) : null}
<h2
className={cn(
eyebrow && 'mt-6',
'font-heading text-3xl font-bold tracking-tight text-balance text-white sm:text-4xl',
🤖 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 `@components/marketing/section.tsx` around lines 79 - 88, Update the h2
className in the section component so the mt-6 margin is applied only when
eyebrow is present, while preserving the existing heading classes for sections
without an eyebrow.

Rebuild AboutHero on the shared HeroSection shell (left-aligned two-color headline, subheading, PartnerLogos row) to match the boundless-platform About hero, with boundless-style copy adapted for the Builders showcase. Revert the shared Section/SectionHeading/Eyebrow changes so the hero no longer restyles every other section; HeroSection owns its own layout.
The About hero sat directly above the footer and ended on the teal peak, cutting off abruptly. Add an additive fadeBottom pass-through to HeroSection (forwarded to HeroBackground) and enable it on the About hero, so the teal tint resolves back to ink at the bottom and meets the footer with no seam, matching the landing hero.

@Benjtalkshow Benjtalkshow 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.

LGTM!

@Benjtalkshow
Benjtalkshow merged commit 954374b into boundlessfi:main Jul 27, 2026
1 of 2 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.

[about-page][Section] Hero / intro

2 participants