Skip to content

fix(website): correct footer social icons + polish HowItWorks scroll#5473

Open
ashrafchowdury wants to merge 2 commits into
mainfrom
fix/website-social-icons-and-how-it-works-section
Open

fix(website): correct footer social icons + polish HowItWorks scroll#5473
ashrafchowdury wants to merge 2 commits into
mainfrom
fix/website-social-icons-and-how-it-works-section

Conversation

@ashrafchowdury

Copy link
Copy Markdown
Contributor

Context

Two unrelated fixes on the marketing site, grouped because they're both visual polish.

Footer social icons were wrong. The repo's social-*.svg files aren't named by platform, and the footer pointed at the wrong ones: LinkedIn rendered the Slack glyph, and Slack rendered an OpenAI mark. There was no real LinkedIn icon in the repo at all.

The HowItWorks scroll section felt off. The pinned section was 500vh tall (~67vh of scroll per beat), so the six chat stages dragged. The chat metadata read "$0.00", which looked like a bug. The thread grows upward as stages reveal and was hard-clipped at the top edge of the card. And both this section's scroll handler and the nav pill did layout work every frame instead of only when needed.

Changes

Social icons. Added a real LinkedIn SVG and remapped the footer so each platform points at its actual glyph.

Before:

  • LinkedIn → /icons/social-2.svg (this is the Slack glyph)
  • Slack → /icons/social-4.svg (this is an OpenAI mark)

After:

  • LinkedIn → /icons/social-linkedin.svg (new, real LinkedIn glyph)
  • Slack → /icons/social-2.svg (the real Slack glyph)

A comment in SiteFooter.astro now records which numbered file is which, since the filenames don't say.

HowItWorks.

  • Pulled the section length into a named SECTION_VH constant and dropped it from 500 to 320 (~37vh per beat), so the beats feel snappier. It's documented and tunable in one place.
  • Changed the placeholder $0.00 cost figures to realistic numbers ($0.14 and $0.06).
  • Added a top-edge fade mask on the scrolled chat card so revealed messages dissolve into the card instead of getting sliced by a hard overflow cut. The static (reduced-motion / small-screen) layout has no overflow, so it's left unmasked.
  • Rewrote the scroll→stage handler to coalesce a burst of scroll/resize events into one requestAnimationFrame, so the single getBoundingClientRect read happens at most once per frame instead of on every raw event.

Nav pill (SiteNav). Replaced the always-on requestAnimationFrame loop (which ran every frame forever, even while idle) with a passive scroll/resize listener that coalesces into one rAF per frame and only writes the .nav-scrolled class on an actual crossing of the 24px threshold.

Nav pill inset (tokens.css). Tightened --nav-pill-inset from 24px to 12px so the floating pill sits closer to the top and reclaims viewport space.

Tests / notes

  • Pure visual + client-side perf changes; no data or routing logic touched.
  • The reduced-motion / <=860px static layout of HowItWorks is deliberately left unmasked. Worth a glance to confirm it still renders unchanged.

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agenta-documentation Ready Ready Preview, Comment Jul 24, 2026 7:00am

Request Review

@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. Frontend UI labels Jul 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Website preview

Preview URL: https://pr-5473-agenta-website-preview.mahmoud-637.workers.dev

Built from 599198235a23f6498f2e1fcfe03dbc92ab3da887. This comment updates in place on every push.

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Updated the “How It Works” scroll experience with a smoother, more compact desktop animation.
    • Added a subtle fade effect for overflowing chat content.
    • Updated displayed chat transaction amounts.
    • Corrected footer icons for Slack and LinkedIn.
  • Improvements

    • Improved navigation pill responsiveness during scrolling and resizing.
    • Reduced the navigation pill’s inset spacing for a tighter appearance.

Walkthrough

The marketing site updates the How It Works scroll animation, optimizes nav-pill scroll handling, adjusts nav-pill inset geometry, and corrects footer social icon mappings.

Changes

How It Works motion

Layer / File(s) Summary
Parameterized scroll stages and chat rendering
website/src/components/HowItWorks.tsx
The section now uses a 320vh scroll range, updated chat amounts, and a top fade mask for clipped bottom-anchored chat content.
Scroll and resize scheduling
website/src/components/HowItWorks.tsx
Scroll and resize measurements are coalesced through requestAnimationFrame, with initialization and cleanup handling.

Navigation pill behavior

Layer / File(s) Summary
Event-driven nav-pill state
website/src/components/SiteNav.astro
Nav-pill state is measured initially and after passive scroll or resize events, avoiding a continuous animation loop.
Scrolled navigation inset
website/src/styles/tokens.css
The nav-pill inset changes from 24px to 12px.

Footer social icons

Layer / File(s) Summary
Social icon source mapping
website/src/components/SiteFooter.astro
LinkedIn uses a dedicated icon and Slack uses social-2.svg.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Browser
  participant HowItWorks
  participant ChatCard
  Browser->>HowItWorks: Emit scroll or resize event
  HowItWorks->>HowItWorks: Schedule one requestAnimationFrame measurement
  HowItWorks->>ChatCard: Render mapped scroll stage
  ChatCard->>ChatCard: Apply fade mask and overflow clipping
Loading

Possibly related PRs

  • Agenta-AI/agenta#5440: Also updates the marketing-site How It Works scroll behavior, nav-pill handling, and inset token.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes to footer icons and HowItWorks scroll behavior.
Description check ✅ Passed The description is clearly related to the footer, HowItWorks, nav pill, and token changes in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/website-social-icons-and-how-it-works-section

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.

@ashrafchowdury
ashrafchowdury requested a review from mmabrouk July 24, 2026 07:03

@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: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: aeefafbf-3725-4311-abff-a9185227584b

📥 Commits

Reviewing files that changed from the base of the PR and between 7b971d8 and 5991982.

⛔ Files ignored due to path filters (1)
  • website/public/icons/social-linkedin.svg is excluded by !**/*.svg
📒 Files selected for processing (4)
  • website/src/components/HowItWorks.tsx
  • website/src/components/SiteFooter.astro
  • website/src/components/SiteNav.astro
  • website/src/styles/tokens.css

Comment on lines +27 to +32
// Scroll length of the pinned stage. The 6 stages are mapped across
// (SECTION_VH − 100vh) of scroll, so each beat advances every
// (SECTION_VH − 100) / 6 vh. Smaller = snappier (less scrolling per beat).
// Was 500 (~67vh/beat); 320 is ~37vh/beat — tune here if beats fly by / drag.
const SECTION_VH = 320;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Update the wrapper’s scroll-height comment.

website/src/components/HowItWorks.astro still says the desktop layout owns a 500vh scroll layout (Lines 4-5), while this component now renders 320vh. Update that comment to 320vh or reference SECTION_VH.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Frontend size:M This PR changes 30-99 lines, ignoring generated files. UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant