Add fn to populate the member select form
This commit is contained in:
parent
cc0d823125
commit
b9c4dfbfd9
@ -1,7 +1,7 @@
|
|||||||
import Routing from '../../services/modal.service';
|
import Routing from '../../services/modal.service';
|
||||||
import Services from '../../services/service';
|
import Services from '../../services/service';
|
||||||
import { addSubscription } from '../../utils/subscription.utils';
|
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 { getCorrectDOM } from '../../utils/html.utils';
|
||||||
import QrScannerComponent from '../../components/qrcode-scanner/qrcode-scanner-component';
|
import QrScannerComponent from '../../components/qrcode-scanner/qrcode-scanner-component';
|
||||||
export { QrScannerComponent };
|
export { QrScannerComponent };
|
||||||
@ -20,8 +20,12 @@ export async function initHomePage(): Promise<void> {
|
|||||||
|
|
||||||
const service = await Services.getInstance();
|
const service = await Services.getInstance();
|
||||||
const spAddress = await service.getDeviceAddress();
|
const spAddress = await service.getDeviceAddress();
|
||||||
generateQRCode(spAddress);
|
// generateQRCode(spAddress);
|
||||||
|
generateCreateBtn ();
|
||||||
displayEmojis(spAddress);
|
displayEmojis(spAddress);
|
||||||
|
|
||||||
|
// Add this line to populate the select when the page loads
|
||||||
|
await populateMemberSelect();
|
||||||
}
|
}
|
||||||
|
|
||||||
//// Modal
|
//// Modal
|
||||||
@ -45,4 +49,46 @@ function scanDevice() {
|
|||||||
if (reader) reader.innerHTML = '<qr-scanner></qr-scanner>';
|
if (reader) reader.innerHTML = '<qr-scanner></qr-scanner>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
(window as any).scanDevice = scanDevice;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user