@@ -41,6 +41,9 @@ const MemberSkillsInfo: FC<MemberSkillsInfoProps> = (props: MemberSkillsInfoProp
4141 const [ isTalentSearch , setIsTalentSearch ] : [ boolean , Dispatch < SetStateAction < boolean > > ]
4242 = useState < boolean > ( false )
4343
44+ const [ skillsToRender , setSkillsToRender ] : [ number , Dispatch < SetStateAction < number > > ]
45+ = useState < number > ( 10 )
46+
4447 useEffect ( ( ) => {
4548 if ( props . authProfile && editMode === profileEditModes . skills ) {
4649 setIsEditMode ( true )
@@ -75,6 +78,10 @@ const MemberSkillsInfo: FC<MemberSkillsInfoProps> = (props: MemberSkillsInfoProp
7578 setHowSkillsWorkVisible ( false )
7679 }
7780
81+ function handleExpandSkillsClick ( ) : void {
82+ setSkillsToRender ( memberEMSISkills . length )
83+ }
84+
7885 return memberEMSISkills ? (
7986 < div className = { styles . container } >
8087 < div className = { styles . titleWrap } >
@@ -98,18 +105,19 @@ const MemberSkillsInfo: FC<MemberSkillsInfoProps> = (props: MemberSkillsInfoProp
98105
99106 < div className = { styles . skillsWrap } >
100107 { memberEMSISkills ?. length > 0
101- ? memberEMSISkills . map ( ( memberEMSISkill : UserEMSISkill ) => (
102- < div
103- className = { classNames (
104- styles . skillItem ,
105- isVerifiedSkill ( memberEMSISkill . skillSources ) ? styles . verifiedSkillItem : '' ,
106- ) }
107- key = { memberEMSISkill . id }
108- >
109- { memberEMSISkill . name }
110- { isVerifiedSkill ( memberEMSISkill . skillSources ) && < IconOutline . CheckCircleIcon /> }
111- </ div >
112- ) )
108+ ? memberEMSISkills . slice ( 0 , skillsToRender )
109+ . map ( ( memberEMSISkill : UserEMSISkill ) => (
110+ < div
111+ className = { classNames (
112+ styles . skillItem ,
113+ isVerifiedSkill ( memberEMSISkill . skillSources ) ? styles . verifiedSkillItem : '' ,
114+ ) }
115+ key = { memberEMSISkill . id }
116+ >
117+ { memberEMSISkill . name }
118+ { isVerifiedSkill ( memberEMSISkill . skillSources ) && < IconOutline . CheckCircleIcon /> }
119+ </ div >
120+ ) )
113121 : (
114122 < EmptySection
115123 title = 'Topcoder verifies and tracks skills as our members complete projects and challenges.'
@@ -121,6 +129,15 @@ const MemberSkillsInfo: FC<MemberSkillsInfoProps> = (props: MemberSkillsInfoProp
121129 they complete project tasks.
122130 </ EmptySection >
123131 ) }
132+ {
133+ memberEMSISkills ?. length > skillsToRender && (
134+ < Button
135+ primary
136+ label = { `+ ${ memberEMSISkills . length - skillsToRender } ` }
137+ onClick = { handleExpandSkillsClick }
138+ />
139+ )
140+ }
124141 </ div >
125142 { canEdit && ! memberEMSISkills ?. length && (
126143 < AddButton
0 commit comments