diff --git a/src/pages/chat/chat.ts b/src/pages/chat/chat.ts index feea6af..2131487 100755 --- a/src/pages/chat/chat.ts +++ b/src/pages/chat/chat.ts @@ -349,6 +349,29 @@ class ChatElement extends HTMLElement { throw new Error('No paired member found'); } + // Formater la date pour n'avoir que l'heure et la date + const now = new Date(); + const formattedTime = now.toLocaleString('fr-FR', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + hour: '2-digit', + minute: '2-digit' + }); + + // Créer le message au format attendu par messageStore + const newMessage = { + id: Date.now(), + sender: myAddresses[0], + text: messageText, + time: formattedTime, + type: 'text' as const + }; + + + messageStore.addMessage(this.selectedMemberId!, newMessage); + this.messagesMock = messageStore.getMessages(); + // Récupérer le process_id du parent (conversation) const groupItem = this.shadowRoot?.querySelector('[data-process-id]'); const parentProcessId = groupItem?.getAttribute('data-process-id'); @@ -357,8 +380,6 @@ class ChatElement extends HTMLElement { throw new Error('Parent process ID not found'); } - const currentTimestamp = new Date().toISOString(); - const messageTemplate = { process_id: parentProcessId, parent_id: null, @@ -369,8 +390,8 @@ class ChatElement extends HTMLElement { type: 'text', content: messageText, metadata: { - created_at: currentTimestamp, - last_updated: currentTimestamp, + created_at: formattedTime, + last_updated: formattedTime, sender: myAddresses[0], recipient: this.selectedMemberId } @@ -409,7 +430,7 @@ class ChatElement extends HTMLElement { }; console.log('Message template:', { - timestamp: currentTimestamp, + timestamp: formattedTime, template: messageTemplate }); @@ -443,46 +464,56 @@ class ChatElement extends HTMLElement { // Load the list of members private async loadMemberChat(memberId: string | number) { + const myAddresses = await this.getMemberFromDevice(); + if (!myAddresses) { + console.error('No paired member found'); + return; + } + this.selectedMemberId = String(memberId); const memberMessages = this.messagesMock.find(m => String(m.memberId) === String(memberId)); - - const chatHeader = this.shadowRoot?.querySelector('#chat-header'); - const messagesContainer = this.shadowRoot?.querySelector('#messages'); - - if (!chatHeader || !messagesContainer) return; - - const memberAddress = String(memberId); - const emojis = await addressToEmoji(memberAddress); - chatHeader.textContent = `Chat with ${emojis}`; - messagesContainer.innerHTML = ''; - - if (memberMessages) { - for (const message of memberMessages.messages) { - const messageElement = document.createElement('div'); - messageElement.className = 'message-container'; - - const messageContent = document.createElement('div'); - messageContent.className = 'message'; + + const chatHeader = this.shadowRoot?.querySelector('#chat-header'); + const messagesContainer = this.shadowRoot?.querySelector('#messages'); + + if (!chatHeader || !messagesContainer) return; + + const memberAddress = String(memberId); + const emojis = await addressToEmoji(memberAddress); + chatHeader.textContent = `Chat with ${emojis}`; + messagesContainer.innerHTML = ''; + + if (memberMessages) { + for (const message of memberMessages.messages) { + const messageElement = document.createElement('div'); + messageElement.className = 'message-container'; + + const messageContent = document.createElement('div'); + messageContent.className = 'message'; + + // Ajouter la classe 'user' si c'est votre message + if (message.sender === myAddresses[0]) { + messageContent.classList.add('user'); + } + + if (message.type === 'file') { + messageContent.innerHTML = `${message.fileName}`; + } else { + const senderDisplay = message.sender === myAddresses[0] + ? "Me" + : await addressToEmoji(memberAddress); - if (message.type === 'file') { - messageContent.innerHTML = `${message.fileName}`; - messageContent.classList.add('user'); - } else { - const senderDisplay = message.sender === "4NK" - ? "Me" - : await addressToEmoji(memberAddress); - - messageContent.innerHTML = `${senderDisplay}: ${message.text} ${message.time}`; - if (message.sender === "4NK") { - messageContent.classList.add('user'); - } - } - - messageElement.appendChild(messageContent); - messagesContainer.appendChild(messageElement); + messageContent.innerHTML = ` + ${senderDisplay}: ${message.text} + ${message.time} + `; + } + + messageElement.appendChild(messageContent); + messagesContainer.appendChild(messageElement); } } - + this.scrollToBottom(messagesContainer); }