Skip to content

Commit 82cdeb7

Browse files
authored
Merge pull request #177 from Gravemind1142/master
MemberList adjustments
2 parents a739a69 + 60e8368 commit 82cdeb7

1 file changed

Lines changed: 42 additions & 40 deletions

File tree

js/addMemberList.js

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -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(/(size=)(\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(/(size=)(\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

Comments
 (0)