Skip to content

feat: enhance ambassador card social media buttons#5113

Open
yashdarekar17 wants to merge 21 commits intoasyncapi:masterfrom
yashdarekar17:yashdarekar1
Open

feat: enhance ambassador card social media buttons#5113
yashdarekar17 wants to merge 21 commits intoasyncapi:masterfrom
yashdarekar17:yashdarekar1

Conversation

@yashdarekar17
Copy link

@yashdarekar17 yashdarekar17 commented Feb 8, 2026

Description

  • Replaced the plain text social media links (Twitter, GitHub, LinkedIn) on the Ambassador cards with brand-specific icons to improve visual consistency across the community page.

  • Implemented interactive hover states for each icon: black for GitHub and Twitter/X, and the official brand blue (#0077b5) for LinkedIn.

  • Refactored the Index component in pages/community/ambassadors/index.tsx to utilize existing icon components (IconTwitter, IconGithub, IconLinkedIn) while maintaining the original card layout and flexbox logic.

Related issue(s)
Fixes #5097

Summary by CodeRabbit

  • New Features

    • Social links on the ambassadors page now use interactive icons (GitHub, LinkedIn, Twitter) with conditional display and hover effects.
    • "Become an Ambassador" actions now use a unified program link.
  • Style

    • Improved layout, spacing, and cursor behavior across the ambassadors section; updated image container structure for better alignment.

@netlify
Copy link

netlify bot commented Feb 8, 2026

Deploy Preview for asyncapi-website ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit a770077
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/6988dc710afdc50009bb50bb
😎 Deploy Preview https://deploy-preview-5113--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.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 8, 2026

📝 Walkthrough

Walkthrough

Replaces plain-text social links on the Ambassadors page with branded icon components (GitHub, LinkedIn, Twitter), adds an ambassadorProgramUrl constant for CTA links, and adjusts layout and image container markup to accommodate the new icon-based social links.

Changes

Cohort / File(s) Summary
Ambassador page UI
pages/community/ambassadors/index.tsx
Replaces text social links with icon components (Github, LinkedIn, Twitter); adds ambassadorProgramUrl constant and uses it for CTA anchors; implements conditional rendering for social URLs; updates image container structure, spacing, and cursor/layout tweaks for icons.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I swapped text links for tiny lights,
GitHub, LinkedIn, Twitter — neat delights,
Icons hop in, tidy and spry,
Hover and click, they wink an eye,
Ambassadors gleam beneath the sky.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: enhance ambassador card social media buttons' accurately describes the main change: replacing plain-text social media links with brand-specific icons on ambassador cards.
Linked Issues check ✅ Passed The code changes implement all required objectives from issue #5097: replaces plain-text social links with icon components, uses existing IconTwitter/IconGithub/IconLinkedIn components, applies branded hover states, maintains uniform icon sizing (h-5 w-5), and preserves card layout with flex logic.
Out of Scope Changes check ✅ Passed All code changes are directly related to enhancing ambassador card social media buttons. The changes include icon component integration, hover styling, ambassador program URL constant, and layout adjustments to accommodate icons—all within the scope of issue #5097.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

No actionable comments were generated in the recent review. 🎉


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.

@codecov
Copy link

codecov bot commented Feb 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (581b703) to head (a770077).

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #5113   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          796       796           
  Branches       146       146           
=========================================
  Hits           796       796           

☔ 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.

@asyncapi-bot
Copy link
Contributor

asyncapi-bot commented Feb 8, 2026

⚡️ Lighthouse report for the changes in this PR:

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

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

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: 2

🤖 Fix all issues with AI agents
In `@pages/community/ambassadors/index.tsx`:
- Line 77: The img element uses an invalid Tailwind class "full" (see the JSX
<img ... className='full' />); replace it with the proper Tailwind utility(s)
such as "w-full" (and optionally "h-auto" to preserve aspect ratio) so the image
regains its width constraint—for example, update the className on the <img>
element to use "w-full" instead of "full".
- Around line 145-154: Add accessible names to the social icon links by adding
an aria-label (or title) to each anchor that wraps the icons so screen readers
can announce them; for example update the anchor that uses ambassador.twitterUrl
and IconTwitter (data-testid='Ambassadors-members-twitter') to include a
descriptive aria-label like "Twitter — {ambassador.name}" and do the same for
the other two social anchors (the LinkedIn and GitHub icon anchors) referencing
their respective ambassador.{linkedinUrl} and ambassador.{githubUrl} properties
so each icon link has a clear accessible label.
🧹 Nitpick comments (1)
pages/community/ambassadors/index.tsx (1)

144-175: Social icon links look good overall — minor inconsistency with data-testid attributes.

The Twitter link has data-testid='Ambassadors-members-twitter' but the GitHub and LinkedIn links are missing their data-testid attributes. For test consistency, consider adding them.

🔧 Proposed fix
                  {ambassador.githubUrl && (
                    <a
                      href={ambassador.githubUrl}
                      target='_blank'
                      rel='noreferrer'
                      className='text-gray-500 hover:text-black transition-colors'
+                     data-testid='Ambassadors-members-github'
                    >
                      <IconGithub className='h-5 w-5 fill-current' />
                    </a>
                  )}
                  {ambassador.linkedinUrl && (
                    <a
                      href={ambassador.linkedinUrl}
                      target='_blank'
                      rel='noreferrer'
                      className='text-gray-500 hover:text-[`#0077b5`] transition-colors'
+                     data-testid='Ambassadors-members-linkedin'
                    >
                      <IconLinkedIn className='h-5 w-5 fill-current' />
                    </a>
                  )}

Comment on lines +145 to +154
{ambassador.twitterUrl && (
<a
href={ambassador.twitterUrl}
target='_blank'
rel='noreferrer'
className='text-gray-500 hover:text-black transition-colors'
data-testid='Ambassadors-members-twitter'
>
<IconTwitter className='h-5 w-5 fill-current' />
</a>
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Social icon links missing accessible labels.

Screen readers will announce these links as empty since there's no visible text and no aria-label. Each icon link should have an accessible name.

♿ Proposed fix — add aria-labels to all three social links
                    <a
                      href={ambassador.twitterUrl}
                      target='_blank'
                      rel='noreferrer'
                      className='text-gray-500 hover:text-black transition-colors'
                      data-testid='Ambassadors-members-twitter'
+                     aria-label={`${ambassador.name} on Twitter`}
                    >

                    <a
                      href={ambassador.githubUrl}
                      target='_blank'
                      rel='noreferrer'
                      className='text-gray-500 hover:text-black transition-colors'
+                     aria-label={`${ambassador.name} on GitHub`}
                    >

                    <a
                      href={ambassador.linkedinUrl}
                      target='_blank'
                      rel='noreferrer'
                      className='text-gray-500 hover:text-[`#0077b5`] transition-colors'
+                     aria-label={`${ambassador.name} on LinkedIn`}
                    >
🤖 Prompt for AI Agents
In `@pages/community/ambassadors/index.tsx` around lines 145 - 154, Add accessible
names to the social icon links by adding an aria-label (or title) to each anchor
that wraps the icons so screen readers can announce them; for example update the
anchor that uses ambassador.twitterUrl and IconTwitter
(data-testid='Ambassadors-members-twitter') to include a descriptive aria-label
like "Twitter — {ambassador.name}" and do the same for the other two social
anchors (the LinkedIn and GitHub icon anchors) referencing their respective
ambassador.{linkedinUrl} and ambassador.{githubUrl} properties so each icon link
has a clear accessible label.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 8, 2026

@SHUBHANSHU602
Copy link

@yashdarekar17 this is totally insane , 21 commits without any discussion .

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

Labels

None yet

Projects

Status: To Be Triaged

Development

Successfully merging this pull request may close these issues.

[FEATURE] Enhance Ambassador Card Social Media Buttons On Community Page

3 participants