This is an automated email from the ASF dual-hosted git repository.

visortelle pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 857b05f0cf28 Fix display wrong avatars on community page (#860)
857b05f0cf28 is described below

commit 857b05f0cf28288e20cb553c87eb2b2bf5a1df26
Author: Kiryl Valkovich 🛸 <[email protected]>
AuthorDate: Tue Mar 19 19:03:14 2024 +0400

    Fix display wrong avatars on community page (#860)
---
 .../pages/CommunityPage/CommunityPage.tsx          | 36 +++++++++++-----------
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/src/components/pages/CommunityPage/CommunityPage.tsx 
b/src/components/pages/CommunityPage/CommunityPage.tsx
index b2fd9728dc74..15eae2f91cde 100644
--- a/src/components/pages/CommunityPage/CommunityPage.tsx
+++ b/src/components/pages/CommunityPage/CommunityPage.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React, { useMemo, useState } from "react";
 import Layout from "@theme/Layout";
 import s from "./CommunityPage.module.css";
 import useBaseUrl from "@docusaurus/useBaseUrl";
@@ -26,15 +26,15 @@ export default function CommunityPage(): JSX.Element {
   );
 
   // Shuffle the team members so that the order is different each time the 
page is loaded
-  team.pmc = _.shuffle(team.pmc);
-  team.committers = _.shuffle(team.committers);
+  const pmcMembers = useMemo(() => _.shuffle(team.pmc), [team.pmc]);
+  const committers = useMemo(() => _.shuffle(team.committers), 
[team.committers]);
 
-  let TeamPMCSets = new Array(Math.ceil(team.pmc.length/5));
-  let teamCtrsSets = new Array(Math.ceil(team.committers.length/5));
+  let TeamPMCSets = new Array(Math.ceil(pmcMembers.length/5));
+  let teamCtrsSets = new Array(Math.ceil(committers.length/5));
 
   let CountTheSet = 0;
   let CountTheSets = 0;
-  team.pmc.forEach(element => {
+  pmcMembers.forEach(element => {
     CountTheSet++;
     if((CountTheSet-1)%5 == 0){ CountTheSets++; }
     if(!Array.isArray(TeamPMCSets[CountTheSets])) TeamPMCSets[CountTheSets] = 
new Array();
@@ -43,7 +43,7 @@ export default function CommunityPage(): JSX.Element {
 
   CountTheSet = CountTheSets = 0;
 
-  team.committers.forEach(element => {
+  committers.forEach(element => {
     CountTheSet++;
     if((CountTheSet-1)%5 == 0){ CountTheSets++; }
     if(!Array.isArray(teamCtrsSets[CountTheSets])) teamCtrsSets[CountTheSets] 
= new Array();
@@ -57,7 +57,7 @@ export default function CommunityPage(): JSX.Element {
     const githubUsername = member.githubUsername?.[0];
     const href = githubUsername ? ('https://github.com/' + githubUsername) : 
"#";
     const target = githubUsername ? "_blank" : "_self";
-  
+
     return (
       <a href={href} target={target} key={'m'+index} 
className={s.CommunityMembersMember}>
         <div>
@@ -165,7 +165,7 @@ export default function CommunityPage(): JSX.Element {
             </div>
           </div>
         </section>
-        
+
         <section className={s.CommunityDiscussions}>
           <div className={s.CommunityDiscussionsBlur} />
           <div className={s.CommunityContent}>
@@ -188,7 +188,7 @@ export default function CommunityPage(): JSX.Element {
           </div>
         </div>
 
-        
+
         <div className={s.CommunityProjectGovernance}>
           <div className={s.CommunityContent}>
             <Section title="Project Governance" anchor="section-governance">
@@ -207,11 +207,11 @@ export default function CommunityPage(): JSX.Element {
                 For the complete and up-to-date list, see <a 
href="https://projects.apache.org/committee.html?pulsar"; target="_blank" 
>Apache Pulsar Committee</a>.
               </p>
               <br />
-              <h4>{team.pmc.length} PMC members</h4>
+              <h4>{pmcMembers.length} PMC members</h4>
               <div>
                 <div className={(isShowMorePMC ? s.CommunityMembersDesktopOpen 
: s.CommunityMembersDesktop)}>
-                  {(team.pmc || []).map((member,i) => (
-                    <MemberCard member={member} index={i} />
+                  {(pmcMembers || []).map((member) => (
+                    <MemberCard key={member.apacheId} member={member} 
index={member.apacheId} />
                   ))}
                   <div className={s.CommunityMembersShowMore}>
                     {showMorePMCButton}
@@ -226,7 +226,7 @@ export default function CommunityPage(): JSX.Element {
                           {TeamPMCSets.map((set, i) => (
                             <div key={i} className={s.SlideTeam}>
                               {set.map((member, i) => (
-                                  <MemberCard member={member} index={i} />
+                                  <MemberCard key={member.apacheId} 
member={member} index={i} />
                                 ))}
                             </div>
                           ))}
@@ -236,11 +236,11 @@ export default function CommunityPage(): JSX.Element {
                   </div>
                 </div>
               </div>
-              <h4>{team.committers.length} Committers</h4>
+              <h4>{committers.length} Committers</h4>
               <div>
                 <div className={(isShowMoreCmtrs ? 
s.CommunityMembersDesktopOpen : s.CommunityMembersDesktop)}>
-                  {(team.committers || []).map((member,i) => (
-                    <MemberCard member={member} index={i} />
+                  {(committers || []).map((member,i) => (
+                    <MemberCard key={member.apacheId} member={member} 
index={i} />
                   ))}
                   <div className={s.CommunityMembersShowMore}>
                     {showMoreCmtrsButton}
@@ -255,7 +255,7 @@ export default function CommunityPage(): JSX.Element {
                           {teamCtrsSets.map((set, i) => (
                             <div key={i} className={s.SlideTeam}>
                               {set.map((member, i) => (
-                                <MemberCard member={member} index={i} />
+                                <MemberCard key={member.apacheId} 
member={member} index={i} />
                               ))}
                             </div>
                           ))}

Reply via email to