@@ -84,6 +84,36 @@ const RadioCard = (props) => {
8484 )
8585}
8686
87+ const filterLeaderboardUsers = ( item ) => {
88+ const username = item . user . username . toLowerCase ( )
89+ const fullName = item . user . fullName ?. toLowerCase ( ) || ""
90+
91+ const excludedUsernames = new Set ( [
92+ "ethdotorg" ,
93+ "finnish_sandberg" ,
94+ "norwegian_sandberg" ,
95+ "swedish_sandberg" ,
96+ ] )
97+
98+ return (
99+ ! excludedUsernames . has ( username ) &&
100+ ! username . includes ( "lqs_" ) &&
101+ ! username . includes ( "removed_user" ) &&
102+ ! username . includes ( "aco_" ) &&
103+ ! fullName . includes ( "aco_" ) &&
104+ ! username . includes ( "aco-" ) &&
105+ ! fullName . includes ( "aco-" ) &&
106+ ! username . includes ( "acc_" ) &&
107+ ! fullName . includes ( "acc_" )
108+ )
109+ }
110+
111+ const sortAndFilterData = ( data ) => {
112+ return reverse ( sortBy ( data , ( { user } ) => user . totalCosts ) ) . filter (
113+ filterLeaderboardUsers
114+ )
115+ }
116+
87117const TranslationLeaderboard : React . FC < IProps > = ( {
88118 monthData,
89119 quarterData,
@@ -94,15 +124,13 @@ const TranslationLeaderboard: React.FC<IProps> = ({
94124 "tableItemBox.light" ,
95125 "tableItemBox.dark"
96126 )
127+
97128 const leaderboardData = {
98- monthData : reverse ( sortBy ( monthData . data , ( { user } ) => user . totalCosts ) ) ,
99- quarterData : reverse (
100- sortBy ( quarterData . data , ( { user } ) => user . totalCosts )
101- ) ,
102- allTimeData : reverse (
103- sortBy ( allTimeData . data , ( { user } ) => user . totalCosts )
104- ) ,
129+ monthData : sortAndFilterData ( monthData . data ) ,
130+ quarterData : sortAndFilterData ( quarterData . data ) ,
131+ allTimeData : sortAndFilterData ( allTimeData . data ) ,
105132 }
133+
106134 const [ filterAmount , updateFilterAmount ] = useState ( 10 )
107135 const [ dateRangeType , updateDateRangeType ] = useState ( "monthData" )
108136
@@ -174,22 +202,8 @@ const TranslationLeaderboard: React.FC<IProps> = ({
174202 < Translation id = "page-contributing-translation-program-acknowledgements-total-words" />
175203 </ Flex >
176204 </ Flex >
177- { /* // TODO: Remove specific user checks once Acolad has updated their usernames */ }
178205 { leaderboardData [ dateRangeType ]
179- . filter (
180- ( item ) =>
181- item . user . username !== "ethdotorg" &&
182- ! item . user . username . includes ( "LQS_" ) &&
183- ! item . user . username . includes ( "REMOVED_USER" ) &&
184- ! item . user . username . includes ( "Aco_" ) &&
185- ! item . user . fullName . includes ( "Aco_" ) &&
186- ! item . user . username . includes ( "Acc_" ) &&
187- ! item . user . fullName . includes ( "Acc_" ) &&
188- item . user . username !== "Finnish_Sandberg" &&
189- item . user . username !== "Norwegian_Sandberg" &&
190- item . user . username !== "Swedish_Sandberg"
191- )
192- . filter ( ( item , idx ) => idx < filterAmount )
206+ . slice ( 0 , filterAmount )
193207 . map ( ( item , idx ) => {
194208 const { user, languages } = item
195209 const sortedLanguages = reverse (
0 commit comments