Fix: Align Hero Section and Navbar Widths#334
Fix: Align Hero Section and Navbar Widths#334dhananjay6561 wants to merge 9 commits intokeploy:mainfrom
Conversation
|
Hi @amaan-bhati kindly review the PR |
Code Review SummaryStatus: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)SUGGESTION
Summary of ChangesThis PR includes several improvements: ✅ README.md - Comprehensive documentation overhaul with site map, API routes, and contributing guidelines ✅ Avatar handling - Replaced proxy-based avatar loading with direct loading + fallback chain (original → ui-avatars → local placeholder) ✅ Security - Added ✅ UI improvements - Added CSS mask for marquee fade effect, responsive padding adjustments ✅ Code cleanup - Removed unused ✅ Local avatars - Added local avatar images for Twitter testimonials to reduce external dependencies Files Reviewed (9 files)
|
There was a problem hiding this comment.
Pull request overview
This PR aims to fix visual alignment between the floating navbar and key landing-page sections, and also refines the testimonials marquee presentation.
Changes:
- Adjusts horizontal padding on the home hero and testimonials sections to align content with navbar edges.
- Tweaks navbar width behavior and cleans up navbar client component formatting.
- Updates testimonials marquee styling/behavior (masking + repeat/speed), and refreshes avatar handling/assets.
Reviewed changes
Copilot reviewed 8 out of 15 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| styles/index.css | Adds .marquee-mask gradient mask used by the testimonials marquee. |
| services/Tweets.tsx | Reformats tweet data and switches several avatars to local /blog/avatars/* assets. |
| public/avatars/yadon.png | Adds a local avatar image asset. |
| public/avatars/kyongshiii06.png | Adds a local avatar image asset. |
| public/avatars/avatar-placeholder.svg | Adds a local placeholder avatar SVG. |
| pages/index.tsx | Adds responsive horizontal padding to the hero wrapper for alignment. |
| package-lock.json | Contains lockfile metadata churn ("peer": true removals). |
| components/testimonials.tsx | Adds wrapper padding, marquee mask usage, avatar fallback logic, and marquee repeat/speed changes. |
| components/navbar/FloatingNavbarClient.tsx | Formatting/spacing cleanup and minor JSX adjustments. |
| components/navbar/FloatingNavbar.tsx | Changes navbar width rules (including scrolled state) and indentation. |
| components/Marquee.tsx | Adds will-change-transform and backface-visibility for smoother animation. |
| README.md | Large documentation expansion (site map, structure, stack, etc.). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Dhananjay Aggarwal <133662894+dhananjay6561@users.noreply.github.com>
Signed-off-by: dhananjay6561 <dhananjayaggarwal6561@gmail.com>
|
Hi @amaan-bhati |
Signed-off-by: Dhananjay Aggarwal <133662894+dhananjay6561@users.noreply.github.com>
Signed-off-by: Dhananjay Aggarwal <133662894+dhananjay6561@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| <Header /> | ||
| <Container> | ||
| <div className=""> | ||
| <div className="px-4 sm:px-8 lg:px-12 xl:px-16"> |
There was a problem hiding this comment.
The PR description focuses on layout alignment changes, but this PR also deletes README.md entirely. If this wasn’t intentional, please restore the README; if it was intentional, the PR description should mention the removal and where the setup/documentation has moved so onboarding/build instructions aren’t lost.
|
Hey @dhananjay6561 👋 — thanks for putting this PR together, we appreciate the effort! We've gone ahead and requested a Copilot review on this. Here's some context from the reviewer:
Once you've had a chance to go through the comments, please address the feedback and resolve the threads — and we'll get this across the line. Feel free to ask if anything's unclear. Happy coding! 💙 |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <Container> | ||
| <div className=""> | ||
| <div className="px-4 sm:px-8 lg:px-12 xl:px-16"> | ||
| <div className="home-container md:mb-0 mb-4 flex lg:flex-nowrap flex-wrap-reverse justify-evenly items-center"> |
There was a problem hiding this comment.
This PR’s description focuses on layout alignment/formatting changes, but it also deletes the entire README.md from the repository. If this was not intentional, please restore the README or move the documentation change into a separate PR with rationale.
| <div className="relative flex mb-8 h-[700px] w-full flex-col items-center justify-center overflow-hidden rounded-lg bg-transparent marquee-mask"> | ||
|
|
||
| <Marquee pauseOnHover repeat={2} className="[--duration:17s]"> | ||
| <Marquee pauseOnHover repeat={4} className="[--duration:30s]"> | ||
| {firstRow.map((tweet) => ( | ||
| <ReviewCard key={tweet.id} {...tweet} /> | ||
| ))} | ||
| </Marquee> | ||
| <Marquee reverse pauseOnHover repeat={2} className="[--duration:17s]"> | ||
| <Marquee reverse pauseOnHover repeat={4} className="[--duration:30s]"> | ||
| {secondRow.map((tweet) => ( |
There was a problem hiding this comment.
repeat was increased from 2 to 4 for both marquees. In components/Marquee.tsx, repeat directly duplicates the children DOM (Array(repeat).map(...)), so this change multiplies the number of rendered ReviewCards and image requests. If the goal is just to slow the animation, consider keeping repeat smaller and adjusting --duration only (or otherwise justify the additional DOM/rendering cost).
| className={`fixed left-1/2 -translate-x-1/2 z-[1000] md:hidden transition-all duration-300 ease-in-out animate-in fade-in-0 slide-in-from-top-2 ${isScrolled ? 'w-[78%]' : 'w-[90%]' | ||
| }`} |
There was a problem hiding this comment.
In the mobile menu portal container className template string, the conditional expression is split across lines in a way that makes it easy to accidentally introduce whitespace/newlines into the class list (and is harder to read/maintain). Consider formatting this as a single ${isScrolled ? ... : ...} interpolation without embedded newlines to avoid brittle className output.
| className={`fixed left-1/2 -translate-x-1/2 z-[1000] md:hidden transition-all duration-300 ease-in-out animate-in fade-in-0 slide-in-from-top-2 ${isScrolled ? 'w-[78%]' : 'w-[90%]' | |
| }`} | |
| className={`fixed left-1/2 -translate-x-1/2 z-[1000] md:hidden transition-all duration-300 ease-in-out animate-in fade-in-0 slide-in-from-top-2 ${isScrolled ? 'w-[78%]' : 'w-[90%]'}`} |

Fix: Align Hero Section and Navbar Widths
Summary
Resolved visual misalignment between the floating navbar and the hero/content sections on the blog landing page. The hero section and testimonials section now align vertically with the navbar edges across all breakpoints.
Problem
FloatingNavbarClient.tsx(trailing whitespace, inconsistent indentation).Changes
Files Modified
components/navbar/FloatingNavbar.tsxmax-widthfrom1250px→1200px; fixed indentationcomponents/navbar/FloatingNavbarClient.tsxcomponents/testimonials.tsxpx-4 md:px-8 lg:px-16) to testimonials wrapperpages/index.tsxpx-4 sm:px-8 lg:px-12 xl:px-16) to hero section wrapperKey Diff
Visual Comparison
Desktop Responsiveness
Tablet Responsiveness
Phone Responsiveness
Dark Mode
Build Verification (
npm run build)Testing