@@ -194,6 +194,9 @@ const BoardCandidatesPage = () => {
194194 window . open ( candidateUrl , '_blank' , 'noopener,noreferrer' )
195195 }
196196
197+ // Check if candidate leads any flagship level projects
198+ const leadsFlagshipProject = ledProjects . some ( ( project ) => project . level === 'flagship' )
199+
197200 return (
198201 < Button
199202 onPress = { handleCardClick }
@@ -390,6 +393,8 @@ const BoardCandidatesPage = () => {
390393 < Link
391394 key = { chapter . id }
392395 href = { `/chapters/${ chapter . key . replace ( 'www-chapter-' , '' ) } ` }
396+ target = "_blank"
397+ rel = "noopener noreferrer"
393398 className = { `inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${
394399 contributionCount === 0
395400 ? 'bg-orange-50 text-orange-700 ring-orange-700/10 hover:bg-orange-100 dark:bg-orange-900/20 dark:text-orange-400 dark:ring-orange-400/30 dark:hover:bg-orange-900/30'
@@ -425,6 +430,8 @@ const BoardCandidatesPage = () => {
425430 < Link
426431 key = { project . id }
427432 href = { `/projects/${ project . key . replace ( 'www-project-' , '' ) } ` }
433+ target = "_blank"
434+ rel = "noopener noreferrer"
428435 className = { `inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium ring-1 ring-inset ${
429436 contributionCount === 0
430437 ? 'bg-orange-50 text-orange-700 ring-orange-700/10 hover:bg-orange-100 dark:bg-orange-900/20 dark:text-orange-400 dark:ring-orange-400/30 dark:hover:bg-orange-900/30'
@@ -536,7 +543,7 @@ const BoardCandidatesPage = () => {
536543 Top 5 Active Channels
537544 </ h4 >
538545 < div className = "inline-flex items-center gap-1.5 rounded-md bg-orange-50 px-2 py-1 text-xs font-medium text-orange-700 ring-1 ring-orange-700/10 ring-inset dark:bg-orange-900/20 dark:text-orange-400 dark:ring-orange-400/30" >
539- No messages
546+ No Engagement
540547 </ div >
541548 </ div >
542549 )
@@ -600,28 +607,42 @@ const BoardCandidatesPage = () => {
600607 { /* Additional Information */ }
601608 { ( candidate . member ?. isOwaspBoardMember ||
602609 candidate . member ?. isFormerOwaspStaff ||
603- candidate . member ?. isGsocMentor ) && (
610+ candidate . member ?. isGsocMentor ||
611+ leadsFlagshipProject ) && (
604612 < div className = "mt-4 w-full border-t border-gray-200 pt-4 dark:border-gray-700" >
605613 < h4 className = "mb-2 text-sm text-gray-700 dark:text-gray-300" >
606614 < span className = "font-semibold" > Additional Information</ span >
607615 </ h4 >
608616 < div className = "flex flex-wrap gap-2" >
609- { candidate . member . isOwaspBoardMember && (
617+ { candidate . member ? .isOwaspBoardMember && (
610618 < span className = "inline-flex items-center gap-1.5 rounded-md bg-purple-50 px-2 py-1 text-xs font-medium text-purple-700 ring-1 ring-purple-700/10 ring-inset dark:bg-purple-900/20 dark:text-purple-400 dark:ring-purple-400/30" >
611619 OWASP Board of Directors Member
612620 </ span >
613621 ) }
614- { candidate . member . isFormerOwaspStaff && (
622+ { candidate . member ? .isFormerOwaspStaff && (
615623 < span className = "inline-flex items-center gap-1.5 rounded-md bg-purple-50 px-2 py-1 text-xs font-medium text-purple-700 ring-1 ring-purple-700/10 ring-inset dark:bg-purple-900/20 dark:text-purple-400 dark:ring-purple-400/30" >
616624 Former OWASP Staff Member
617625 </ span >
618626 ) }
619- { candidate . member . isGsocMentor && (
627+ { candidate . member ? .isGsocMentor && (
620628 < span className = "inline-flex items-center gap-1.5 rounded-md bg-purple-50 px-2 py-1 text-xs font-medium text-purple-700 ring-1 ring-purple-700/10 ring-inset dark:bg-purple-900/20 dark:text-purple-400 dark:ring-purple-400/30" >
621629 Google Summer of Code Mentor
622630 </ span >
623631 ) }
624632 </ div >
633+ { leadsFlagshipProject && (
634+ < div
635+ className = "mt-3 text-xs text-gray-600 dark:text-gray-400"
636+ style = { {
637+ wordWrap : 'break-word' ,
638+ overflowWrap : 'break-word' ,
639+ whiteSpace : 'normal' ,
640+ } }
641+ >
642+ This candidate may have additional community engagement in other Slack workspaces
643+ based on the flagship level project(s) they are leading.
644+ </ div >
645+ ) }
625646 </ div >
626647 ) }
627648 </ Button >
@@ -667,8 +688,11 @@ const BoardCandidatesPage = () => {
667688 ) }
668689 </ p >
669690 < p className = "mt-3 text-sm text-gray-500 italic dark:text-gray-500" >
670- This page is built using publicly available data from the OWASP GitHub organization and
671- OWASP Slack workspace (January 1 to October 1, { year } ). The code is open source and
691+ This page represents all verifiable OWASP GitHub organization contributions and only OWASP
692+ Slack workspace engagements (January 1 to October 1, { year } ). Some projects (especially
693+ Flagship level ones) may have their own Slack workspaces -- their data is not presented
694+ here. Additionally, certain project workflows based on platforms other than GitHub (e.g.,
695+ Google Docs or similar) are not included in this data. The code is open source and
672696 available as part of{ ' ' }
673697 < Link
674698 href = "https://github.com/OWASP/Nest"
0 commit comments