diff --git a/src/pages/chat/chat.ts b/src/pages/chat/chat.ts
index 2d40ce2..88dcd9d 100755
--- a/src/pages/chat/chat.ts
+++ b/src/pages/chat/chat.ts
@@ -575,6 +575,120 @@ class ChatElement extends HTMLElement {
console.log("SENDER: ", message.metadata.sender);
const pairingProcess = await this.getMyProcessId();
const senderEmoji = await addressToEmoji(pairingProcess);
+
+ if (message.type === 'file') {
+ let fileContent = '';
+ if (message.content.type.startsWith('image/')) {
+ fileContent = `
+
+

+
+ `;
+ } else {
+ const blob = this.base64ToBlob(message.content.data, message.content.type);
+ const url = URL.createObjectURL(blob);
+ fileContent = `
+
+ `;
+ }
+
+ messageContent.innerHTML = `
+
+ ${senderEmoji}: ${fileContent}
+
+
+ ${new Date(message.metadata.createdAt).toLocaleString('fr-FR')}
+
+ `;
+ } else {
+ messageContent.innerHTML = `
+
+ ${senderEmoji}: ${message.content}
+
+
+ ${new Date(message.metadata.createdAt).toLocaleString('fr-FR')}
+
+ `;
+ }
+
+ messageElement.appendChild(messageContent);
+ messagesContainer.appendChild(messageElement);
+ }
+
+ this.scrollToBottom(messagesContainer);
+ } else {
+ console.log('No messages found');
+ }
+ this.scrollToBottom(messagesContainer);
+ } catch (error) {
+ console.error('â Error in loadMemberChat:', error);
+ }
+ }
+
+ private async reloadMemberChat(pairingProcess: string) {
+ try {
+ const service = await Services.getInstance();
+ const myAddresses = await service.getMemberFromDevice();
+ if (!myAddresses) {
+ console.error('No paired member found');
+ return;
+ }
+
+
+ const messagesContainer = this.shadowRoot?.querySelector('#messages');
+
+ if (!messagesContainer) return;
+
+ const emojis = await addressToEmoji(pairingProcess);
+
+ messagesContainer.innerHTML = '';
+
+ let dmProcessId = await this.processId;
+
+ // Récupérer les messages depuis les états du processus
+ const allMessages: any[] = [];
+
+ const dmProcess = await service.getProcess(dmProcessId);
+
+ console.log(dmProcess);
+
+ if (dmProcess?.states) {
+ for (const state of dmProcess.states) {
+ const pcd_commitment = state.pcd_commitment;
+ if (pcd_commitment) {
+ const message_hash = pcd_commitment.message;
+ if (message_hash) {
+ const diff = await service.getDiffByValue(message_hash);
+ const message = diff?.new_value;
+ if (message === "" || message === undefined) {
+ continue;
+ }
+ console.log('message', message);
+ allMessages.push(message);
+ }
+ }
+ }
+ }
+
+ allMessages.sort((a, b) => a.metadata.createdAt - b.metadata.createdAt);
+ if (allMessages.length > 0) {
+ console.log('Messages found:', allMessages);
+ for (const message of allMessages) {
+ const messageElement = document.createElement('div');
+ messageElement.className = 'message-container';
+
+ const isCurrentUser = message.metadata.sender === myAddresses[0];
+ messageElement.style.justifyContent = isCurrentUser ? 'flex-end' : 'flex-start';
+
+ const messageContent = document.createElement('div');
+ messageContent.className = `message ${isCurrentUser ? 'user' : ''}`;
+
+ console.log("SENDER: ", message.metadata.sender);
+ const pairingProcess = await this.getMyProcessId();
const senderEmoji = await addressToEmoji(pairingProcess);
if (message.type === 'file') {