From a368d896e47eef30391a2cb9bcf83d14f3ee2005 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 14:34:56 +0530 Subject: [PATCH 01/20] added social media logo instead of text --- pages/community/ambassadors/index.tsx | 31 +++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index 71d1553e9870..e44288d7322d 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -11,6 +11,9 @@ import NewsletterSubscribe from '../../../components/NewsletterSubscribe'; import Heading from '../../../components/typography/Heading'; import ambassadorList from '../../../config/ambassador_lists.json'; import ambassadors from '../../../config/AMBASSADORS_MEMBERS.json'; +import IconGithub from '../../../components/icons/Github'; +import IconLinkedIn from '../../../components/icons/LinkedIn'; +import IconTwitter from '../../../components/icons/Twitter'; /** * @description Add additional user information to the user object having ambassador data @@ -123,9 +126,9 @@ export default function Index() {
{ambassador.country}
-
+
{ambassador.bio}
- From 15b639c46d8482475765631c5f91c90e52783835 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 15:42:39 +0530 Subject: [PATCH 02/20] fixed linting issue --- pages/community/ambassadors/index.tsx | 290 ++++++++++++++++---------- 1 file changed, 185 insertions(+), 105 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index e44288d7322d..5977b041e129 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -6,14 +6,14 @@ import type { Ambassador } from '@/types/pages/community/Community'; import { HeadingTypeStyle } from '@/types/typography/Heading'; import Button from '../../../components/buttons/Button'; +import IconGithub from '../../../components/icons/Github'; +import IconLinkedIn from '../../../components/icons/LinkedIn'; +import IconTwitter from '../../../components/icons/Twitter'; import GenericLayout from '../../../components/layout/GenericLayout'; import NewsletterSubscribe from '../../../components/NewsletterSubscribe'; import Heading from '../../../components/typography/Heading'; import ambassadorList from '../../../config/ambassador_lists.json'; import ambassadors from '../../../config/AMBASSADORS_MEMBERS.json'; -import IconGithub from '../../../components/icons/Github'; -import IconLinkedIn from '../../../components/icons/LinkedIn'; -import IconTwitter from '../../../components/icons/Twitter'; /** * @description Add additional user information to the user object having ambassador data @@ -21,7 +21,7 @@ import IconTwitter from '../../../components/icons/Twitter'; */ export function addAdditionalUserInfo(user: Ambassador) { const userData: Ambassador = { - ...user + ...user, }; // add social links @@ -49,125 +49,186 @@ export default function Index() { const image = '/img/social/community-ambassadors.webp'; const asyncapiAmbassadors = sortBy( ambassadors.map((user) => addAdditionalUserInfo(user)), - ['name'] + ['name'], ); return ( - -
-
-

- Teachers. Champions. Ambassadors! + +
+
+

+ Teachers. Champions.{' '} + Ambassadors!

- - Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help - the OSS community build the future of APIs. + + Passionate about event-driven architectures or message-driven APIs? + Become an AsyncAPI Ambassador and help the OSS community build the + future of APIs. -
+
-
- ambassador-cover +
+ ambassador-cover
-
-
+
+
-
-
- AsyncAPI Ambassador Contributions - - AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They share their interest, expertise, and - excitement within their communities to help others build better software. +
+
+ + AsyncAPI Ambassador Contributions + + + AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They + share their interest, expertise, and excitement within their + communities to help others build better software.
-
    +
      {ambassadorList.contents.map((link) => ( -
    • - {link.title} - +
    • + {link.title} + {link.title} -

      {link.details}

      +

      {link.details}

    • ))}
-
- Join these AsyncAPI Ambassadors - +
+ + Join these AsyncAPI Ambassadors + + Learn and share knowledge with community members
{asyncapiAmbassadors.map((ambassador: Ambassador, index: number) => (
-
+
{ambassador.name}
-
{ambassador.country}
+
+ {ambassador.country} +
- -
+ +
{ambassador.name}
-
{ambassador.title}
+
+ {ambassador.title} +
-
-
{ambassador.bio}
-
+
+
{ambassador.bio}
+
@@ -175,65 +236,84 @@ export default function Index() { ))}
-
-
-
- Tokens of our appreciation - - We appreciate your commitment and passion for sharing your knowledge with your communities. Let us support - you! +
+
+
+ + Tokens of our appreciation + + + We appreciate your commitment and passion for sharing your + knowledge with your communities. Let us support you!
-
-
    +
    +
      {ambassadorList.tokens.map((token) => ( -
    • +
    • -
      - {token.emoji} +
      + {token.emoji}
      -
      - {token.title} -

      {token.details}

      +
      + + {token.title} + +

      + {token.details} +

    • ))}
    -
    -
    - Become an AsyncAPI Ambassador +
    +
    + + Become an AsyncAPI Ambassador + - The AsyncAPI Ambassador program is now open for applications! If you're selected, you'll join - AsyncAPI's mission of helping community members all over the world, build the future of - Event-Driven APIs. + The AsyncAPI Ambassador program is now open for applications! If + you're selected, you'll join AsyncAPI's mission + of helping community members all over the world, build the + future of Event-Driven APIs. -
    +
    - + ); } From d8a5063f86658ded4391c05edd220fd2e860f430 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 15:56:40 +0530 Subject: [PATCH 03/20] fixed linting issue --- pages/community/ambassadors/index.tsx | 207 +++++++++++++------------- 1 file changed, 105 insertions(+), 102 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index 5977b041e129..0b1a66d04d2a 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -49,132 +49,133 @@ export default function Index() { const image = '/img/social/community-ambassadors.webp'; const asyncapiAmbassadors = sortBy( ambassadors.map((user) => addAdditionalUserInfo(user)), - ['name'], + ['name'] ); return (

    - Teachers. Champions.{' '} - Ambassadors! + Teachers. Champions. Ambassadors!

    Passionate about event-driven architectures or message-driven APIs? - Become an AsyncAPI Ambassador and help the OSS community build the + Become an AsyncAPI Ambassador and help + the OSS community build the future of APIs. -
    +
    -
    +
    ambassador-cover
    -
    -
    +
    +
    -
    +
    AsyncAPI Ambassador Contributions AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They - share their interest, expertise, and excitement within their + share their interest, expertise, and + excitement within their communities to help others build better software.
    -
      +
        {ambassadorList.contents.map((link) => (
      • {link.title} - + {link.title} -

        {link.details}

        +

        {link.details}

      • ))}
    -
    +
    Join these AsyncAPI Ambassadors Learn and share knowledge with community members
    {asyncapiAmbassadors.map((ambassador: Ambassador, index: number) => (
    {ambassador.name}
    -
    +
    {ambassador.country}
    @@ -182,53 +183,53 @@ export default function Index() { href={`ambassadors/${ambassador.github}`} as={`ambassadors/${ambassador.github}`} > -
    +
    {ambassador.name}
    -
    +
    {ambassador.title}
    -
    -
    {ambassador.bio}
    +
    +
    {ambassador.bio}
    @@ -236,42 +237,43 @@ export default function Index() { ))}
    -
    -
    +
    +
    Tokens of our appreciation We appreciate your commitment and passion for sharing your - knowledge with your communities. Let us support you! + knowledge with your communities. Let us support + you!
    -
    -
      +
      +
        {ambassadorList.tokens.map((token) => (
      • -
        - {token.emoji} +
        + {token.emoji}
        -
        +
        {token.title} -

        +

        {token.details}

        @@ -280,40 +282,41 @@ export default function Index() {
      -
      -
      +
      +
      Become an AsyncAPI Ambassador The AsyncAPI Ambassador program is now open for applications! If - you're selected, you'll join AsyncAPI's mission + you're selected, you'll join + AsyncAPI's mission of helping community members all over the world, build the future of Event-Driven APIs. -
      +
      - + ); } From 5a1fd379c7e0822052325a59d91a125b34bd2252 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 16:07:41 +0530 Subject: [PATCH 04/20] fixed linting issue3 --- pages/community/ambassadors/index.tsx | 230 +++++--------------------- 1 file changed, 43 insertions(+), 187 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index 0b1a66d04d2a..287c58f38482 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -21,7 +21,7 @@ import ambassadors from '../../../config/AMBASSADORS_MEMBERS.json'; */ export function addAdditionalUserInfo(user: Ambassador) { const userData: Ambassador = { - ...user, + ...user }; // add social links @@ -47,99 +47,42 @@ export function addAdditionalUserInfo(user: Ambassador) { */ export default function Index() { const image = '/img/social/community-ambassadors.webp'; - const asyncapiAmbassadors = sortBy( - ambassadors.map((user) => addAdditionalUserInfo(user)), - ['name'] - ); + const asyncapiAmbassadors = sortBy(ambassadors.map((user) => addAdditionalUserInfo(user)), ['name']); return ( - -
      -
      -

      + +
      +
      +

      Teachers. Champions. Ambassadors!

      - - Passionate about event-driven architectures or message-driven APIs? - Become an AsyncAPI Ambassador and help - the OSS community build the - future of APIs. + + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help the OSS community build the future of APIs.
      -
      - ambassador-cover + ambassador-cover
      - +
      -
      - - AsyncAPI Ambassador Contributions - - - AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They - share their interest, expertise, and - excitement within their - communities to help others build better software. +
      + AsyncAPI Ambassador Contributions + + AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They share their interest, expertise, and excitement within their communities to help others build better software.
        {ambassadorList.contents.map((link) => ( -
      • - {link.title} +
      • + {link.title} {link.title} @@ -149,86 +92,37 @@ export default function Index() {
      - - Join these AsyncAPI Ambassadors - - + Join these AsyncAPI Ambassadors + Learn and share knowledge with community members -
      +
      {asyncapiAmbassadors.map((ambassador: Ambassador, index: number) => ( -
      +
      -
      +
      {ambassador.name}
      -
      - {ambassador.country} -
      +
      {ambassador.country}
      - +
      -
      - {ambassador.name} -
      -
      - {ambassador.title} +
      + {ambassador.name}
      +
      {ambassador.title}
      {ambassador.bio}
      -
      - + @@ -239,78 +133,40 @@ export default function Index() {
      -
      - - Tokens of our appreciation - - - We appreciate your commitment and passion for sharing your - knowledge with your communities. Let us support - you! +
      + Tokens of our appreciation + + We appreciate your commitment and passion for sharing your knowledge with your communities. Let us support you!
        {ambassadorList.tokens.map((token) => ( -
      • +
      • {token.emoji}
        - - {token.title} - -

        - {token.details} -

        + {token.title} +

        {token.details}

      • ))}
      -
      +
      - - Become an AsyncAPI Ambassador - + Become an AsyncAPI Ambassador - The AsyncAPI Ambassador program is now open for applications! If - you're selected, you'll join - AsyncAPI's mission - of helping community members all over the world, build the - future of Event-Driven APIs. + The AsyncAPI Ambassador program is now open for applications! If you're selected, you'll join AsyncAPI's mission of helping community members all over the world, build the future of Event-Driven APIs.
      -
      From 4984ea40523900af30fcbdfa8c62019af7d4c210 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 16:13:42 +0530 Subject: [PATCH 05/20] fixed linting issue --- pages/community/ambassadors/index.tsx | 92 ++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 15 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index 287c58f38482..919a335ea639 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -47,20 +47,37 @@ export function addAdditionalUserInfo(user: Ambassador) { */ export default function Index() { const image = '/img/social/community-ambassadors.webp'; - const asyncapiAmbassadors = sortBy(ambassadors.map((user) => addAdditionalUserInfo(user)), ['name']); + const asyncapiAmbassadors = sortBy( + ambassadors.map((user) => addAdditionalUserInfo(user)), + ['name'] + ); return ( - +

      Teachers. Champions. Ambassadors!

      - + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help the OSS community build the future of APIs.
      -
      @@ -69,7 +86,11 @@ export default function Index() {
      - +
      @@ -96,9 +117,16 @@ export default function Index() { Learn and share knowledge with community members -
      +
      {asyncapiAmbassadors.map((ambassador: Ambassador, index: number) => ( -
      +
      {ambassador.name}
      @@ -107,7 +135,11 @@ export default function Index() {
      - {ambassador.name} + {ambassador.name}
      {ambassador.title}
      @@ -116,13 +148,29 @@ export default function Index() {
      {ambassador.bio}
      @@ -157,16 +205,30 @@ export default function Index() { ))}

    -
    +
    Become an AsyncAPI Ambassador - The AsyncAPI Ambassador program is now open for applications! If you're selected, you'll join AsyncAPI's mission of helping community members all over the world, build the future of Event-Driven APIs. + The AsyncAPI Ambassador program is now open for applications! If you're selected, you'll join AsyncAPI's mission of helping community members all over the world, build the future of Event-Driven APIs.
    -
    From fd36f959c956f212e0be85a508f9383ee32ca7b8 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 16:18:10 +0530 Subject: [PATCH 06/20] fixed linting issue --- pages/community/ambassadors/index.tsx | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index 919a335ea639..8d4eb380f906 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -53,22 +53,13 @@ export default function Index() { ); return ( - +

    Teachers. Champions. Ambassadors!

    - + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help the OSS community build the future of APIs.
    @@ -102,7 +93,11 @@ export default function Index() {
      {ambassadorList.contents.map((link) => ( -
    • +
    • {link.title} {link.title} @@ -213,7 +208,8 @@ export default function Index() {
      Become an AsyncAPI Ambassador - The AsyncAPI Ambassador program is now open for applications! If you're selected, you'll join AsyncAPI's mission of helping community members all over the world, build the future of Event-Driven APIs. + The AsyncAPI Ambassador program is now open for applications! If you're selected, you'll join + AsyncAPI's mission of helping community members all over the world, build the future of Event-Driven APIs.

- Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help the OSS community build the future of APIs. + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help + the OSS community build the future of APIs.
@@ -177,8 +177,8 @@ export default function Index() {
Tokens of our appreciation - We appreciate your commitment and passion for sharing your knowledge with your communities. - Let us support you! + We appreciate your commitment and passion for sharing your knowledge with your communities. Let us support + you!
From 2e7bf8ceee113b0fa7f2a27e05c7a68a22effc3b Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 17:06:48 +0530 Subject: [PATCH 12/20] fixed linting issue4 --- pages/community/ambassadors/index.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index 03bc8cc93a92..cee3744d10e9 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -60,8 +60,8 @@ export default function Index() { Teachers. Champions. Ambassadors! - Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador - and help the OSS community build the future of APIs. + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help + the OSS community build the future of APIs.
@@ -177,8 +176,8 @@ export default function Index() {
Tokens of our appreciation - We appreciate your commitment and passion for sharing your knowledge with your communities. Let us support - you! + We appreciate your commitment and passion for sharing your knowledge with your communities. + Let us support you!
From 2a7c4a58266c05ce7b0a46287bd7372e18e1965a Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 17:12:17 +0530 Subject: [PATCH 13/20] fixed lint error --- pages/community/ambassadors/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index cee3744d10e9..da17a43fe26e 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -60,8 +60,8 @@ export default function Index() { Teachers. Champions. Ambassadors! - Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help - the OSS community build the future of APIs. + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador + and help the OSS community build the future of APIs.
From 21c45afd101b079eca67f6fa0b1d8131eae2c5c2 Mon Sep 17 00:00:00 2001 From: Yash darekar Date: Sun, 8 Feb 2026 17:23:44 +0530 Subject: [PATCH 14/20] fixed lint error --- pages/community/ambassadors/index.tsx | 29 +++++++++++++-------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/pages/community/ambassadors/index.tsx b/pages/community/ambassadors/index.tsx index da17a43fe26e..0f66aed68fed 100644 --- a/pages/community/ambassadors/index.tsx +++ b/pages/community/ambassadors/index.tsx @@ -24,7 +24,6 @@ export function addAdditionalUserInfo(user: Ambassador) { ...user }; - // add social links if (userData.github) { userData.githubUrl = `https://www.github.com/${userData.github}`; } @@ -35,16 +34,11 @@ export function addAdditionalUserInfo(user: Ambassador) { userData.twitterUrl = `https://www.twitter.com/${userData.twitter}`; } - // add img url - // github redirects to avatar url using `https://www.github.com/.png` userData.img = `${userData.githubUrl}.png`; return userData; } -/** - * @description The main page for the AsyncAPI Ambassador Program. - */ export default function Index() { const image = '/img/social/community-ambassadors.webp'; const asyncapiAmbassadors = sortBy( @@ -52,28 +46,32 @@ export default function Index() { ['name'] ); + // Variable to handle long URL and pass max-len linter + const ambassadorProgramUrl = + 'https://github.com/asyncapi/community/blob/master/docs/020-governance-and-policies/AMBASSADOR_PROGRAM.md'; + return (
-

+

Teachers. Champions. Ambassadors!

- Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador - and help the OSS community build the future of APIs. + Passionate about event-driven architectures or message-driven APIs? Become an AsyncAPI Ambassador and help + the OSS community build the future of APIs.
- ambassador-cover + ambassador-cover
@@ -88,7 +86,8 @@ export default function Index() {
AsyncAPI Ambassador Contributions - AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They share their interest, expertise, and excitement within their communities to help others build better software. + AsyncAPI Ambassadors are passionate about APIs and AsyncAPI. They share their interest, expertise, and + excitement within their communities to help others build better software.
@@ -176,8 +175,8 @@ export default function Index() {
Tokens of our appreciation - We appreciate your commitment and passion for sharing your knowledge with your - communities. Let us support you! + We appreciate your commitment and passion for sharing your knowledge with your communities. + Let us support you!
@@ -214,7 +213,7 @@ export default function Index() {