members_load_ok
This commit is contained in:
parent
394e5f1764
commit
036e11c73b
@ -324,27 +324,51 @@ class ChatElement extends HTMLElement {
|
|||||||
this.scrollToBottom(messagesContainer);
|
this.scrollToBottom(messagesContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private toggleMembers(role: { members: { id: string | number; name: string; }[] }, roleElement: HTMLElement) {
|
private async toggleMembers(roleData: any, roleElement: HTMLElement) {
|
||||||
let memberList = roleElement.querySelector('.member-list');
|
let memberList = roleElement.querySelector('.member-list');
|
||||||
if (memberList) {
|
if (memberList) {
|
||||||
(memberList as HTMLElement).style.display = (memberList as HTMLElement).style.display === 'none' ? 'block' : 'none';
|
(memberList as HTMLElement).style.display =
|
||||||
|
(memberList as HTMLElement).style.display === 'none' ? 'block' : 'none';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
memberList = document.createElement('ul');
|
memberList = document.createElement('ul');
|
||||||
memberList.className = 'member-list';
|
memberList.className = 'member-list';
|
||||||
|
|
||||||
role.members.forEach(member => {
|
// Récupérer les membres avec leurs sp_addresses
|
||||||
const memberItem = document.createElement('li');
|
if (roleData.members) {
|
||||||
memberItem.textContent = member.name;
|
for (const member of roleData.members) {
|
||||||
|
const memberItem = document.createElement('li');
|
||||||
|
memberItem.className = 'member-item';
|
||||||
|
|
||||||
memberItem.onclick = (event) => {
|
const memberContainer = document.createElement('div');
|
||||||
event.stopPropagation();
|
memberContainer.className = 'member-container';
|
||||||
this.loadMemberChat(member.id.toString());
|
|
||||||
};
|
|
||||||
|
|
||||||
memberList.appendChild(memberItem);
|
// Afficher l'adresse SP
|
||||||
});
|
const addressSpan = document.createElement('span');
|
||||||
|
addressSpan.className = 'member-address';
|
||||||
|
addressSpan.textContent = member.sp_addresses?.[0] || 'No address';
|
||||||
|
|
||||||
|
// Ajouter les emojis pour l'adresse
|
||||||
|
const emojiSpan = document.createElement('span');
|
||||||
|
emojiSpan.className = 'member-emoji';
|
||||||
|
if (member.sp_addresses?.[0]) {
|
||||||
|
const emojis = await addressToEmoji(member.sp_addresses[0]);
|
||||||
|
emojiSpan.textContent = emojis;
|
||||||
|
}
|
||||||
|
|
||||||
|
memberContainer.appendChild(addressSpan);
|
||||||
|
memberContainer.appendChild(emojiSpan);
|
||||||
|
memberItem.appendChild(memberContainer);
|
||||||
|
|
||||||
|
memberItem.onclick = (event) => {
|
||||||
|
event.stopPropagation();
|
||||||
|
this.loadMemberChat(member.sp_addresses[0]);
|
||||||
|
};
|
||||||
|
|
||||||
|
memberList.appendChild(memberItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
roleElement.appendChild(memberList);
|
roleElement.appendChild(memberList);
|
||||||
}
|
}
|
||||||
@ -479,7 +503,22 @@ class ChatElement extends HTMLElement {
|
|||||||
Object.keys(roles).forEach(roleName => {
|
Object.keys(roles).forEach(roleName => {
|
||||||
const roleItem = document.createElement('li');
|
const roleItem = document.createElement('li');
|
||||||
roleItem.className = 'role-item';
|
roleItem.className = 'role-item';
|
||||||
roleItem.textContent = roleName;
|
|
||||||
|
const roleContainer = document.createElement('div');
|
||||||
|
roleContainer.className = 'role-item-container';
|
||||||
|
|
||||||
|
const roleNameSpan = document.createElement('span');
|
||||||
|
roleNameSpan.className = 'role-name';
|
||||||
|
roleNameSpan.textContent = roleName;
|
||||||
|
|
||||||
|
// Ajouter l'événement de clic
|
||||||
|
roleContainer.addEventListener('click', (event) => {
|
||||||
|
event.stopPropagation();
|
||||||
|
this.toggleMembers(roles[roleName], roleItem);
|
||||||
|
});
|
||||||
|
|
||||||
|
roleContainer.appendChild(roleNameSpan);
|
||||||
|
roleItem.appendChild(roleContainer);
|
||||||
roleList.appendChild(roleItem);
|
roleList.appendChild(roleItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user