From b9c4dfbfd95ba6ad78ab193fdc21f9b84f3123eb Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Fri, 7 Mar 2025 16:39:20 +0100 Subject: [PATCH] Add fn to populate the member select form --- src/pages/home/home.ts | 50 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/src/pages/home/home.ts b/src/pages/home/home.ts index e924f2c..8d38c4b 100755 --- a/src/pages/home/home.ts +++ b/src/pages/home/home.ts @@ -1,7 +1,7 @@ import Routing from '../../services/modal.service'; import Services from '../../services/service'; import { addSubscription } from '../../utils/subscription.utils'; -import { displayEmojis, generateQRCode } from '../../utils/sp-address.utils'; +import { displayEmojis, generateQRCode, generateCreateBtn, addressToEmoji } from '../../utils/sp-address.utils'; import { getCorrectDOM } from '../../utils/html.utils'; import QrScannerComponent from '../../components/qrcode-scanner/qrcode-scanner-component'; export { QrScannerComponent }; @@ -20,8 +20,12 @@ export async function initHomePage(): Promise { const service = await Services.getInstance(); const spAddress = await service.getDeviceAddress(); - generateQRCode(spAddress); + // generateQRCode(spAddress); + generateCreateBtn (); displayEmojis(spAddress); + + // Add this line to populate the select when the page loads + await populateMemberSelect(); } //// Modal @@ -45,4 +49,46 @@ function scanDevice() { if (reader) reader.innerHTML = ''; } +async function populateMemberSelect() { + const container = getCorrectDOM('login-4nk-component') as HTMLElement; + const memberSelect = container.querySelector('#memberSelect') as HTMLSelectElement; + + if (!memberSelect) { + console.error('Could not find memberSelect element'); + return; + } + + const service = await Services.getInstance(); + const members = service.getAllMembersSorted(); + + for (const [processId, member] of Object.entries(members)) { + const process = await service.getProcess(processId); + let memberPublicName; + + if (process) { + const publicMemberData = service.getPublicData(process); + if (publicMemberData) { + const extractedName = publicMemberData['memberPublicName']; + if (extractedName !== undefined && extractedName !== null) { + memberPublicName = extractedName; + } + } + } + + if (!memberPublicName) { + memberPublicName = 'Unnamed Member'; + } + + // Récupérer les emojis pour ce processId + const emojis = await addressToEmoji(processId); + + const option = document.createElement('option'); + option.value = processId; + option.textContent = `${memberPublicName} (${emojis})`; + memberSelect.appendChild(option); + } +} + +(window as any).populateMemberSelect = populateMemberSelect; + (window as any).scanDevice = scanDevice;