diff --git a/src/pages/chat/chat.ts b/src/pages/chat/chat.ts index ff44eb9..9c1f300 100755 --- a/src/pages/chat/chat.ts +++ b/src/pages/chat/chat.ts @@ -638,11 +638,82 @@ class ChatElement extends HTMLElement { //Load all processes private async loadAllProcesses() { console.log('🎯 Loading all processes'); - const service = await Services.getInstance(); - const processes = await service.getProcesses(); - return processes; - } + const processes: any[] = []; + const dbRequest = indexedDB.open('4nk'); + + return new Promise((resolve, reject) => { + dbRequest.onerror = (event) => { + console.error('❌ Error opening database:', dbRequest.error); + reject(dbRequest.error); + }; + dbRequest.onsuccess = async (event) => { + const db = dbRequest.result; + const transaction = db.transaction(['processes'], 'readonly'); + const store = transaction.objectStore('processes'); + + const request = store.getAll(); + + request.onsuccess = () => { + const processResult = request.result; + console.log('🎯 Processed result:', processResult); + + // Afficher les processus dans le container #group-list + const groupList = this.shadowRoot?.querySelector('#group-list'); + if (!groupList) { + console.warn('⚠️ Group list element not found'); + return; + } + + groupList.innerHTML = ''; + for (const process of processResult) { + console.log('🎯 Processing process:', process); + const li = document.createElement('li'); + li.className = 'group-list-item'; + const oneProcess = process.states[0].commited_in; + li.setAttribute('data-process-id', oneProcess); + groupList.appendChild(li); + + const container = document.createElement('div'); + container.className = 'group-item-container'; + + const nameSpan = document.createElement('span'); + nameSpan.textContent = `Process : `; + nameSpan.className = 'process-name'; + + container.appendChild(nameSpan); + + addressToEmoji(oneProcess).then(emojis => { + const emojiSpan = document.createElement('span'); + emojiSpan.className = 'process-emoji'; + emojiSpan.textContent = emojis; + container.appendChild(emojiSpan); + }); + + li.appendChild(container); + + // afficher les roles dans chaque processus + const roles = process.states[0].encrypted_pcd.roles; + console.log('🎯 Roles:', roles); + const roleList = document.createElement('ul'); + roleList.className = 'role-list'; + (roleList as HTMLElement).style.display = 'none'; + + li.appendChild(roleList); + + + } + + resolve(processResult); + }; + + request.onerror = () => { + console.error('❌ Error getting processes:', request.error); + reject(request.error); + }; + }; + }); + } // Load the group list from all processes public async loadAllGroupListFromMyProcess(): Promise {