fix_member_load
This commit is contained in:
parent
d3e3e790d1
commit
e8f66ff586
@ -111,7 +111,7 @@ class ChatElement extends HTMLElement {
|
|||||||
`;
|
`;
|
||||||
window.loadMemberChat = async (memberId: string | number) => {
|
window.loadMemberChat = async (memberId: string | number) => {
|
||||||
if (typeof memberId === 'string') {
|
if (typeof memberId === 'string') {
|
||||||
return await this.loadMemberChat([memberId]);
|
return await this.loadMemberChat(memberId);
|
||||||
} else {
|
} else {
|
||||||
console.error('Invalid memberId type. Expected string, got number.');
|
console.error('Invalid memberId type. Expected string, got number.');
|
||||||
}
|
}
|
||||||
@ -474,7 +474,7 @@ class ChatElement extends HTMLElement {
|
|||||||
|
|
||||||
if (!chatHeader || !messagesContainer) return;
|
if (!chatHeader || !messagesContainer) return;
|
||||||
|
|
||||||
emojis = await addressToEmoji(pairingProcess);
|
const emojis = await addressToEmoji(pairingProcess);
|
||||||
|
|
||||||
chatHeader.textContent = `Chat with ${emojis}`;
|
chatHeader.textContent = `Chat with ${emojis}`;
|
||||||
messagesContainer.innerHTML = '';
|
messagesContainer.innerHTML = '';
|
||||||
@ -568,7 +568,7 @@ class ChatElement extends HTMLElement {
|
|||||||
messageContent.className = `message ${isCurrentUser ? 'user' : ''}`;
|
messageContent.className = `message ${isCurrentUser ? 'user' : ''}`;
|
||||||
|
|
||||||
console.log("SENDER: ", message.metadata.sender);
|
console.log("SENDER: ", message.metadata.sender);
|
||||||
const pairingProcess = this.addressMap[]
|
const pairingProcess = this.addressMap[message.metadata.sender];
|
||||||
const senderEmoji = await addressToEmoji(pairingProcess);
|
const senderEmoji = await addressToEmoji(pairingProcess);
|
||||||
|
|
||||||
if (message.type === 'file') {
|
if (message.type === 'file') {
|
||||||
@ -663,15 +663,18 @@ class ChatElement extends HTMLElement {
|
|||||||
return this.addressMap;
|
return this.addressMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
async findProcessIdFromAddresses(addresses: string[]): string | null {
|
async findProcessIdFromAddresses(addresses: string[]): Promise<string | null> {
|
||||||
const sortedAddresses = [...addresses].sort();
|
console.log('Addresses to find:', addresses);
|
||||||
const service = await Services.getInstance();
|
const service = await Services.getInstance();
|
||||||
const allMembers = service.getAllMembers();
|
const allMembers = await service.getAllMembers();
|
||||||
|
console.log('Available members:', allMembers);
|
||||||
|
|
||||||
|
const sortedAddresses = [...addresses].sort();
|
||||||
|
|
||||||
for (const [key, value] of Object.entries(allMembers)) {
|
for (const [key, value] of Object.entries(allMembers)) {
|
||||||
if (value.length === sortedTarget.length) {
|
if (value.sp_addresses?.length === sortedAddresses.length) {
|
||||||
const sortedValue = [...value].sort();
|
const sortedValue = [...value.sp_addresses].sort();
|
||||||
if (sortedValue.every((val, index) => val === sortedTarget[index])) {
|
if (sortedValue.every((val, index) => val === sortedAddresses[index])) {
|
||||||
return key; // Found a match
|
return key; // Found a match
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -681,20 +684,25 @@ class ChatElement extends HTMLElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async toggleMembers(roleData: any, roleElement: HTMLElement) {
|
private async toggleMembers(roleData: any, roleElement: HTMLElement) {
|
||||||
|
console.log('Toggle members called with roleData:', roleData);
|
||||||
let memberList = roleElement.querySelector('.member-list');
|
let memberList = roleElement.querySelector('.member-list');
|
||||||
const roleName = roleElement.querySelector('.role-name')?.textContent || '';
|
const roleName = roleElement.querySelector('.role-name')?.textContent || '';
|
||||||
|
|
||||||
if (memberList) {
|
if (memberList) {
|
||||||
|
console.log('Existing memberList found, toggling display');
|
||||||
(memberList as HTMLElement).style.display =
|
(memberList as HTMLElement).style.display =
|
||||||
(memberList as HTMLElement).style.display === 'none' ? 'block' : 'none';
|
(memberList as HTMLElement).style.display === 'none' ? 'block' : 'none';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('Creating new memberList');
|
||||||
memberList = document.createElement('ul');
|
memberList = document.createElement('ul');
|
||||||
memberList.className = 'member-list';
|
memberList.className = 'member-list';
|
||||||
|
|
||||||
if (roleData.members) {
|
if (roleData.members) {
|
||||||
|
console.log('Members found:', roleData.members);
|
||||||
for (const member of roleData.members) {
|
for (const member of roleData.members) {
|
||||||
|
console.log('Processing member:', member);
|
||||||
const memberItem = document.createElement('li');
|
const memberItem = document.createElement('li');
|
||||||
memberItem.className = 'member-item';
|
memberItem.className = 'member-item';
|
||||||
|
|
||||||
@ -705,14 +713,16 @@ class ChatElement extends HTMLElement {
|
|||||||
emojiSpan.className = 'member-emoji';
|
emojiSpan.className = 'member-emoji';
|
||||||
|
|
||||||
const pairingProcess = await this.findProcessIdFromAddresses(member.sp_addresses);
|
const pairingProcess = await this.findProcessIdFromAddresses(member.sp_addresses);
|
||||||
|
console.log('PairingProcess:', pairingProcess);
|
||||||
if (pairingProcess) {
|
if (pairingProcess) {
|
||||||
console.log("PAIRING PROCESS:", pairingProcess);
|
//TO DO : faire apparaitre les membres avec lesquelels je suis pairé ?
|
||||||
let emojis = await addressToEmoji(pairingProcess);
|
const emojis = await addressToEmoji(pairingProcess);
|
||||||
|
console.log('Adresse pairée:', emojis);
|
||||||
|
emojiSpan.textContent = emojis;
|
||||||
} else {
|
} else {
|
||||||
console.error('Failed to find the pairing id');
|
const emojis = await addressToEmoji(member.sp_addresses[0]);
|
||||||
continue;
|
emojiSpan.textContent = emojis;
|
||||||
}
|
}
|
||||||
emojiSpan.textContent = emojis;
|
|
||||||
|
|
||||||
memberContainer.appendChild(emojiSpan);
|
memberContainer.appendChild(emojiSpan);
|
||||||
memberItem.appendChild(memberContainer);
|
memberItem.appendChild(memberContainer);
|
||||||
@ -720,7 +730,9 @@ class ChatElement extends HTMLElement {
|
|||||||
memberItem.onclick = async (event) => {
|
memberItem.onclick = async (event) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
try {
|
try {
|
||||||
await this.loadMemberChat(pairingProcess);
|
if (pairingProcess) {
|
||||||
|
await this.loadMemberChat(pairingProcess);
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('❌ Error handling member click:', error);
|
console.error('❌ Error handling member click:', error);
|
||||||
}
|
}
|
||||||
@ -728,6 +740,8 @@ class ChatElement extends HTMLElement {
|
|||||||
|
|
||||||
memberList.appendChild(memberItem);
|
memberList.appendChild(memberItem);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
console.log('No members found in roleData');
|
||||||
}
|
}
|
||||||
|
|
||||||
roleElement.appendChild(memberList);
|
roleElement.appendChild(memberList);
|
||||||
@ -942,6 +956,7 @@ class ChatElement extends HTMLElement {
|
|||||||
};
|
};
|
||||||
|
|
||||||
roleContainer.addEventListener('click', async (event) => {
|
roleContainer.addEventListener('click', async (event) => {
|
||||||
|
console.log("CLICKED ON ROLE:", roleName);
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
await this.toggleMembers(filteredRoleData, roleItem);
|
await this.toggleMembers(filteredRoleData, roleItem);
|
||||||
});
|
});
|
||||||
@ -1005,7 +1020,7 @@ class ChatElement extends HTMLElement {
|
|||||||
return this.userProcessSet;
|
return this.userProcessSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
const pairingProcess = await getMyProcessId();
|
const pairingProcess = await this.getMyProcessId();
|
||||||
const memberEmoji = await addressToEmoji(pairingProcess);
|
const memberEmoji = await addressToEmoji(pairingProcess);
|
||||||
console.log("Mon adresse:", currentMember[0], memberEmoji);
|
console.log("Mon adresse:", currentMember[0], memberEmoji);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user