diff --git a/ihm5 b/ihm5 new file mode 160000 index 0000000..db04fa9 --- /dev/null +++ b/ihm5 @@ -0,0 +1 @@ +Subproject commit db04fa955b01121c3507031ffdb0570920124bc7 diff --git a/src/pages/chat/chat.ts b/src/pages/chat/chat.ts index 1059fe8..d43bee5 100755 --- a/src/pages/chat/chat.ts +++ b/src/pages/chat/chat.ts @@ -794,17 +794,17 @@ class ChatElement extends HTMLElement { console.log('Available members:', allMembers); const sortedAddresses = [...addresses].sort(); - + for (const [key, value] of Object.entries(allMembers)) { - if (value.length === sortedAddresses.length) { - const sortedValue = [...value].sort(); - if (sortedValue.every((val, index) => val === sortedAddresses [index])) { - return key; // Found a match + if (value.sp_addresses && value.sp_addresses.length === sortedAddresses.length) { + const sortedValue = [...value.sp_addresses].sort(); + if (sortedValue.every((val, index) => val === sortedAddresses[index])) { + return key; } } } - - return null; // No match found + + return null; } private async toggleMembers(roleData: any, roleElement: HTMLElement) { @@ -836,16 +836,20 @@ class ChatElement extends HTMLElement { const emojiSpan = document.createElement('span'); emojiSpan.className = 'member-emoji'; - const pairingProcess = await this.findProcessIdFromAddresses(member.sp_addresses); - console.log('PairingProcess:', pairingProcess); - if (pairingProcess) { - //TO DO : faire apparaitre les membres avec lesquelels je suis pairé ? - const emojis = await addressToEmoji(pairingProcess); + const currentPairingProcess = await this.findProcessIdFromAddresses(member.sp_addresses); + console.log('PairingProcess:', currentPairingProcess); + + if (currentPairingProcess) { + const emojis = await addressToEmoji(currentPairingProcess); console.log('Adresse pairée:', emojis); emojiSpan.textContent = emojis; + + // Stocker le pairingProcess dans un attribut data- + memberItem.setAttribute('data-pairing-process', currentPairingProcess); } else { const emojis = await addressToEmoji(member.sp_addresses[0]); emojiSpan.textContent = emojis; + memberItem.setAttribute('data-pairing-process', member.sp_addresses[0]); } memberContainer.appendChild(emojiSpan); @@ -854,6 +858,7 @@ class ChatElement extends HTMLElement { memberItem.onclick = async (event) => { event.stopPropagation(); try { + const pairingProcess = memberItem.getAttribute('data-pairing-process'); if (pairingProcess) { await this.loadMemberChat(pairingProcess); }