Skip to content

Conversation

@abhishekkumawat-47
Copy link

@abhishekkumawat-47 abhishekkumawat-47 commented Nov 1, 2025

Description

  • Fixed misalignment of slider arrows on Community → Newsroom page
  • Fixed navbar overlapping hero sections on multiple pages by adding consistent top margin
  • Made Scroll-to-top button theme-aware (adapts color in dark/light modes)
  • Verified responsiveness and visual consistency across different viewports

Visual Comparisons

Before After
Newsroom before Newsroom after
Navbar overlap before Navbar overlap after
Scroll-to-top before Scroll-to-top after

🎥 Video Comparison

Before After
Before-Scroll-up-arrow.mp4
Scroll-up-arrow.mp4

Related issue(s)

Fixes #4522

Summary by CodeRabbit

  • Style
    • Updated scroll-to-top button: new icon, stronger shadow and quicker transition.
    • Refined Prev/Next button sizing and icon proportions in newsroom sections.
    • Tweaked vertical spacing across several pages and hero/banner areas for tighter visual rhythm.

@netlify
Copy link

netlify bot commented Nov 1, 2025

Deploy Preview for asyncapi-website ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 5853af9
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/69066a639863c800084f4190
😎 Deploy Preview https://deploy-preview-4524--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 1, 2025

Warning

Rate limit exceeded

@abhishekkumawat-47 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 25 minutes and 43 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between ab2837a and 5853af9.

📒 Files selected for processing (3)
  • .gitignore (1 hunks)
  • components/buttons/ScrollButton.tsx (2 hunks)
  • components/icons/Scroll-up-arrow.tsx (1 hunks)

Walkthrough

This PR updates several UI spacing and styling details: replaces the scroll-to-top image with a new SVG icon component, tweaks button shadows/transitions, adjusts AnnouncementHero usage and banner spacing, and applies multiple top-margin/layout tweaks across pages and newsroom carousel controls.

Changes

Cohort / File(s) Change Summary
Icon Component Addition
components/icons/Scroll-up-arrow.tsx
Added new default-exported SVG ArrowUp component that accepts className and renders an up-arrow using currentColor.
Scroll Button
components/buttons/ScrollButton.tsx
Replaced image icon with IconArrowUp import; updated button shadow (shadow-mdshadow-xl), transition duration (300200), easing (ease-in-outease-linear); removed use of scrollImage asset.
Hero & Banner Spacing
components/Hero.tsx, components/campaigns/AnnouncementHero.tsx
Changed AnnouncementHero usage to call component without className='my-4'; added mt-5 to inner banner container in AnnouncementHero.tsx.
Newsroom Carousel Controls
components/newsroom/NewsroomBlogPosts.tsx, components/newsroom/NewsroomYoutube.tsx
Adjusted Prev/Next control styling: reduced padding (px-6 py-3 → px-4 py-2) and increased arrow icon sizes (w-4 → w-8) for alignment/visibility.
Page-level Spacing
pages/404.tsx, pages/[lang]/index.tsx, pages/community/index.tsx
Applied top-margin adjustments: 404.tsx changed mt-20-mt-5; index added -mt-6 to wrapper; community removed mt-15 on small screens to reduce excess top spacing.
Type Declarations
next-env.d.ts
Added Next.js environment declaration file referencing next types and routes.d.ts.

Sequence Diagram(s)

sequenceDiagram
    participant Page as Page Component
    participant ScrollButton as ScrollButton
    participant Icon as IconArrowUp (SVG)
    participant Theme as CSS (currentColor)

    Page->>ScrollButton: Render ScrollButton
    ScrollButton->>Icon: Render IconArrowUp with className
    Icon->>Theme: SVG uses currentColor to inherit text color
    Theme-->>Icon: Provides theme color
    Icon-->>ScrollButton: Themed SVG rendered
    ScrollButton-->>Page: Displays scroll-to-top button
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Multiple files across components, pages, and icons require review.
  • New component addition is straightforward but should be checked for theme integration.
  • Repetitive spacing/styling edits reduce cognitive load but need visual verification.

Areas to check:

  • Verify IconArrowUp inherits theme colors in light/dark modes and when nested inside button styles.
  • Confirm removal of my-4 and added negative margins (-mt-5, -mt-6) do not cause content overlap on small viewports.
  • Ensure duplicated/accidental attributes (e.g., duplicate className in JSX) are not present in ScrollButton.tsx.

Possibly related PRs

Suggested labels

ready-to-merge

Suggested reviewers

  • derberg
  • devilkiller-ag
  • akshatnema
  • sambhavgupta0705
  • anshgoyalevil
  • Mayaleeeee
  • asyncapi-bot-eve

Poem

🐇 I hopped in quick to tweak the view,
Arrows now match the theme so true,
Margins nudged and buttons bright,
Spacing settled, everything just right —
A little rabbit cheer for UI delight!

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Out of Scope Changes Check ❓ Inconclusive The majority of changes in this pull request are directly aligned with the three objectives from issue #4522: newsroom arrow alignment, navbar overlap prevention, and theme-aware scroll-to-top functionality. All modified component files and pages contribute to these fixes through spacing adjustments, icon sizing, and styling updates. However, the inclusion of next-env.d.ts appears potentially out of scope, as this file is typically auto-generated by Next.js and not manually edited or committed to version control. Additionally, the summary notes a "potential invalid JSX" concern regarding a duplicate className attribute in ScrollButton.tsx, which warrants verification to ensure valid code syntax.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The pull request title "fix(ui): align newsroom arrows, fix navbar overlap on multiple pages, make scroll-to-top theme-aware (fix #4522)" is clear, concise, and directly related to the main changes in the changeset. The title identifies three distinct fixes that are all present in the code changes: newsroom arrow alignment adjustments (NewsroomBlogPosts.tsx, NewsroomYoutube.tsx), navbar overlap prevention through margin adjustments (pages/404.tsx, pages/[lang]/index.tsx, pages/community/index.tsx, AnnouncementHero.tsx), and the creation of a theme-aware scroll-to-top component (Scroll-up-arrow.tsx, ScrollButton.tsx). The title is specific enough to convey the primary objectives without being verbose or misleading.
Linked Issues Check ✅ Passed The pull request addresses all three primary coding objectives from issue #4522. First, newsroom slider arrow alignment is fixed through padding and icon size adjustments in NewsroomBlogPosts.tsx (padding 6px/3px → 4px/2px, icon w-4 → w-8) and NewsroomYoutube.tsx (padding px-6 py-3 → px-4 py-2, icon w-4 → w-8). Second, navbar overlap is prevented by adding and adjusting top margins across multiple pages: AnnouncementHero.tsx adds mt-5, pages/404.tsx changes to -mt-5, pages/[lang]/index.tsx adds -mt-6, and pages/community/index.tsx removes mt-15. Third, the scroll-to-top button is made theme-aware by replacing the image-based icon with a new SVG component (Scroll-up-arrow.tsx) that uses currentColor styling, which adapts to theme changes, and integrating it into ScrollButton.tsx.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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.

@asyncapi-bot
Copy link
Contributor

asyncapi-bot commented Nov 1, 2025

⚡️ Lighthouse report for the changes in this PR:

Category Score
🔴 Performance 39
🟢 Accessibility 98
🟢 Best practices 92
🟢 SEO 100
🔴 PWA 33

Lighthouse ran on https://deploy-preview-4524--asyncapi-website.netlify.app/

@abhishekkumawat-47 abhishekkumawat-47 changed the title [FIX](ui): align newsroom arrows, fix navbar overlap on multiple pages, make scroll-to-top theme-aware (fix #4522) fix(ui): align newsroom arrows, fix navbar overlap on multiple pages, make scroll-to-top theme-aware (fix #4522) Nov 1, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
components/campaigns/AnnouncementHero.tsx (1)

24-24: Remove unnecessary dependency from useMemo.

The banners import is a constant reference and doesn't need to be in the dependency array.

Apply this diff:

-  const visibleBanners = useMemo(() => banners.filter((banner) => shouldShowBanner(banner.cfpDeadline)), [banners]);
+  const visibleBanners = useMemo(() => banners.filter((banner) => shouldShowBanner(banner.cfpDeadline)), []);
components/buttons/ScrollButton.tsx (1)

10-10: Remove unused variable.

The scrollImage variable is no longer used after replacing the image-based icon with the SVG component.

Apply this diff:

-  const scrollImage = '/img/loaders/scroll.svg';

Based on the pipeline failure logs.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 053e5a6 and 8eae87d.

📒 Files selected for processing (9)
  • components/Hero.tsx (1 hunks)
  • components/buttons/ScrollButton.tsx (2 hunks)
  • components/campaigns/AnnouncementHero.tsx (1 hunks)
  • components/icons/Scroll-up-arrow.tsx (1 hunks)
  • components/newsroom/NewsroomBlogPosts.tsx (1 hunks)
  • components/newsroom/NewsroomYoutube.tsx (1 hunks)
  • pages/404.tsx (1 hunks)
  • pages/[lang]/index.tsx (1 hunks)
  • pages/community/index.tsx (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: asyncapi-bot
Repo: asyncapi/website PR: 0
File: :0-0
Timestamp: 2025-02-18T12:07:42.211Z
Learning: The following PR commands are supported in the asyncapi/website repository:
- `/please-take-a-look` or `/ptal`: Requests attention from reviewers who haven't reviewed the PR
- `/ready-to-merge` or `/rtm`: Triggers automerge when all conditions are met
- `/do-not-merge` or `/dnm`: Blocks automerge even if all conditions are met
- `/autoupdate` or `/au`: Adds autoupdate label to keep PR in sync with target branch
- `/update` or `/u`: One-time update of PR with latest changes from target branch
📚 Learning: 2024-10-11T10:46:58.882Z
Learnt from: akshatnema
Repo: asyncapi/website PR: 3262
File: components/Avatar.tsx:35-44
Timestamp: 2024-10-11T10:46:58.882Z
Learning: In Next.js, when avoiding nested `<a>` tags due to hydration issues, use accessible non-link elements like `<button>` or `<span>` with appropriate roles, `tabIndex`, and event handlers to maintain accessibility and SEO.

Applied to files:

  • components/newsroom/NewsroomBlogPosts.tsx
📚 Learning: 2024-10-11T07:38:35.745Z
Learnt from: akshatnema
Repo: asyncapi/website PR: 3262
File: components/newsroom/FeaturedBlogPost.tsx:90-92
Timestamp: 2024-10-11T07:38:35.745Z
Learning: In Next.js, nested `<a>` tags cause hydration issues due to invalid HTML. To fix this, avoid nesting `<a>` tags by replacing inner `<a>` tags with non-interactive elements like `<span>`, and use click handlers to maintain interactivity if needed.

Applied to files:

  • components/newsroom/NewsroomBlogPosts.tsx
🧬 Code graph analysis (4)
components/Hero.tsx (1)
components/campaigns/AnnouncementHero.tsx (1)
  • AnnouncementHero (21-112)
components/newsroom/NewsroomBlogPosts.tsx (1)
components/icons/ArrowLeft.tsx (1)
  • ArrowLeft (7-17)
components/buttons/ScrollButton.tsx (1)
components/icons/ArrowUp.tsx (1)
  • IconArrowUp (7-14)
components/newsroom/NewsroomYoutube.tsx (1)
components/icons/ArrowLeft.tsx (1)
  • ArrowLeft (7-17)
🪛 GitHub Actions: PR testing - if Node project
components/campaigns/AnnouncementHero.tsx

[warning] 24-24: React Hook useMemo has an unnecessary dependency: 'banners'.

components/icons/Scroll-up-arrow.tsx

[error] 10-10: Replace "currentColor" with 'currentColor'


[error] 10-10: Unexpected usage of doublequote. jsx-quotes


[error] 11-11: Replace "0 0 20 20" with '0 0 20 20'


[error] 11-11: Unexpected usage of doublequote. jsx-quotes


[error] 12-12: Replace "http://www.w3.org/2000/svg" with 'http://www.w3.org/2000/svg'


[error] 12-12: Unexpected usage of doublequote. jsx-quotes


[error] 15-15: Replace "evenodd" with 'evenodd'


[error] 15-15: Unexpected usage of doublequote. jsx-quotes


[error] 16-16: This line has a length of 140. Maximum allowed is 120.


[error] 16-16: Replace the long string with a properly quoted string using single quotes.


[error] 16-16: Unexpected usage of doublequote. jsx-quotes


[error] 17-17: Replace "evenodd" with 'evenodd'


[error] 17-17: Unexpected usage of doublequote. jsx-quotes

components/buttons/ScrollButton.tsx

[error] 1-1: autofix required: sort these imports. Run autofix for simple-import-sort/imports.


[error] 10-10: 'scrollImage' is assigned a value but never used. (no-unused-vars)


[error] 10-10: 'scrollImage' is assigned a value but never used. no-unused-vars


[error] 10-10: Unused variable detected: 'scrollImage'.


[error] 36-36: Replace with


[error] 36-36: Unexpected usage of doublequote. jsx-quotes

⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Lighthouse CI
🔇 Additional comments (8)
components/Hero.tsx (1)

32-32: LGTM: Cleaner component usage.

Removing the className prop simplifies the component usage, as the spacing is now handled internally by AnnouncementHero (which adds mt-5 to its banner container).

components/campaigns/AnnouncementHero.tsx (1)

64-64: LGTM: Spacing fix applied correctly.

The mt-5 addition provides the top margin needed to prevent navbar overlap, aligning with the PR objectives.

pages/[lang]/index.tsx (1)

45-45: LGTM: Negative margin correctly addresses navbar overlap.

The -mt-6 adjustment pulls the content up to prevent navbar from overlapping the hero section, which aligns with the PR objectives.

pages/community/index.tsx (1)

36-36: LGTM: Removed excessive top margin.

Removing mt-15 eliminates unnecessary spacing on small screens, improving the layout consistency as part of the overall spacing fixes.

components/newsroom/NewsroomBlogPosts.tsx (1)

60-63: LGTM: Improved slider arrow styling.

The padding adjustment and icon size increase improve the visual consistency and alignment of the slider arrows, addressing the newsroom slider arrow misalignment issue mentioned in the PR objectives.

components/newsroom/NewsroomYoutube.tsx (1)

54-57: LGTM: Consistent slider arrow styling.

The styling updates match those in NewsroomBlogPosts.tsx, ensuring uniform slider arrow appearance across all newsroom components.

pages/404.tsx (1)

15-15: LGTM: Spacing adjustment for 404 page.

The negative margin adjustment improves the vertical spacing on the error page, consistent with the overall spacing fixes in this PR.

components/buttons/ScrollButton.tsx (1)

33-33: LGTM: Button styling refinements enhance the UI.

The updated shadow, transition duration, and easing provide a more polished, responsive feel for the scroll-to-top button.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
components/buttons/ScrollButton.tsx (1)

11-11: Remove unused variable.

The scrollImage variable is no longer used since the image-based icon was replaced with the IconArrowUp component.

Apply this diff:

-  const scrollImage = '/img/loaders/scroll.svg';
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8eae87d and ab2837a.

📒 Files selected for processing (3)
  • components/buttons/ScrollButton.tsx (2 hunks)
  • components/icons/Scroll-up-arrow.tsx (1 hunks)
  • next-env.d.ts (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • next-env.d.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • components/icons/Scroll-up-arrow.tsx
🧰 Additional context used
🧬 Code graph analysis (1)
components/buttons/ScrollButton.tsx (1)
components/icons/ArrowUp.tsx (1)
  • IconArrowUp (7-14)
🪛 Biome (2.1.2)
components/buttons/ScrollButton.tsx

[error] 34-34: This JSX property is assigned multiple times.

This attribute is assigned again here.

(lint/suspicious/noDuplicateJsxProps)

🪛 GitHub Actions: PR testing - if Node project
components/buttons/ScrollButton.tsx

[error] 11-11: No duplicate props allowed


[error] 11-11: scrollImage is assigned a value but never used. (no-unused-vars)

🔇 Additional comments (1)
components/buttons/ScrollButton.tsx (1)

38-38: Theme-aware icon implementation looks good.

The IconArrowUp component is correctly implemented with theme-aware styling. The use of text-gray-900 and hover:text-white ensures the icon adapts appropriately when the background changes on hover, addressing the PR objective for theme awareness.

@codecov
Copy link

codecov bot commented Nov 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (053e5a6) to head (5853af9).

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4524   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          780       780           
  Branches       144       144           
=========================================
  Hits           780       780           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@abhishekkumawat-47 abhishekkumawat-47 force-pushed the fix/4522-slider-arrow branch 6 times, most recently from 3fe99ca to aad01ed Compare November 1, 2025 20:13
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.

[FIX]: Slider arrow alignment, top content spacing, and scroll-to-top theme responsiveness

2 participants