@@ -46,49 +46,51 @@ function addMemberList(guild) {
4646 // Add the role name
4747 let name = document . createElement ( 'span' ) ;
4848 name . classList . add ( 'roleTitle' ) ;
49- name . innerText = r . name ;
49+ name . innerText = ` ${ r . name } - ${ memberCount } ` ;
5050 container . appendChild ( name ) ;
5151
5252 // Add each user
53- r . members
54- . filter (
55- ( m ) =>
56- m . roles . hoist &&
57- m . roles . hoist . id == r . id &&
58- m . presence . status != 'offline'
59- )
60- . sort ( ( m1 , m2 ) => m1 . id - m2 . id )
61- . forEach ( ( m ) => {
62- // Create the outer div
63- let outerDiv = document . createElement ( 'div' ) ;
64- outerDiv . classList . add ( 'mLOuterDiv' ) ;
65- container . appendChild ( outerDiv ) ;
66-
67- // Make the div for the user
68- let userDiv = document . createElement ( 'div' ) ;
69- userDiv . id = m . id ;
70- userDiv . classList . add ( 'mLUserDiv' ) ;
71- outerDiv . appendChild ( userDiv ) ;
72-
73- // Add the user icon
74- let icon = document . createElement ( 'img' ) ;
75- icon . src = m . user
76- . displayAvatarURL ( )
77- . replace ( / ( s i z e = ) ( \d + ) / gi, '$164' ) ;
78- icon . classList . add ( 'mLIcon' ) ;
79- userDiv . appendChild ( icon ) ;
80-
81- // Make the username text
82- let username = document . createElement ( 'p' ) ;
83- username . classList . add ( 'mLUsername' ) ;
84- let name = m . nickname || m . user . username ;
85- // if (name.length > 15) {
86- // name = `${name.substring(0, 15)}...`
87- // }
88- username . innerText = name ;
89- username . style . color = m . displayHexColor || '#8E9297' ;
90- userDiv . appendChild ( username ) ;
91- } ) ;
53+ if ( memberCount < 30 ) { // rendering too many members here causes performance issues.
54+ r . members
55+ . filter (
56+ ( m ) =>
57+ m . roles . hoist &&
58+ m . roles . hoist . id == r . id &&
59+ m . presence . status != 'offline'
60+ )
61+ . sort ( ( m1 , m2 ) => m1 . id - m2 . id )
62+ . forEach ( ( m ) => {
63+ // Create the outer div
64+ let outerDiv = document . createElement ( 'div' ) ;
65+ outerDiv . classList . add ( 'mLOuterDiv' ) ;
66+ container . appendChild ( outerDiv ) ;
67+
68+ // Make the div for the user
69+ let userDiv = document . createElement ( 'div' ) ;
70+ userDiv . id = m . id ;
71+ userDiv . classList . add ( 'mLUserDiv' ) ;
72+ outerDiv . appendChild ( userDiv ) ;
73+
74+ // Add the user icon
75+ let icon = document . createElement ( 'img' ) ;
76+ icon . src = m . user
77+ . displayAvatarURL ( )
78+ . replace ( / ( s i z e = ) ( \d + ) / gi, '$164' ) ;
79+ icon . classList . add ( 'mLIcon' ) ;
80+ userDiv . appendChild ( icon ) ;
81+
82+ // Make the username text
83+ let username = document . createElement ( 'p' ) ;
84+ username . classList . add ( 'mLUsername' ) ;
85+ let name = m . nickname || m . user . username ;
86+ // if (name.length > 15) {
87+ // name = `${name.substring(0, 15)}...`
88+ // }
89+ username . innerText = name ;
90+ username . style . color = m . displayHexColor || '#8E9297' ;
91+ userDiv . appendChild ( username ) ;
92+ } ) ;
93+ }
9294 }
9395 } ) ;
9496
0 commit comments