let id = ''; let departmentId = ''; document.addEventListener('DOMContentLoaded', async function () { const {id: userId, name, email, departmentId: userDepartmentId} = await window.databaseAPI.getUserInfo(); const emailInput = document.querySelector('input[name="email"]'); const usernameInput = document.querySelector('input[name="username"]'); const passwordInput = document.querySelector('input[name="password"]'); // Pre-fill form fields with existing data id = userId departmentId = userDepartmentId; usernameInput.value = name; emailInput.value = email; passwordInput.value = ''; const backButton = document.getElementById('back'); const submitButton = document.getElementById('submit'); // Get operation codes from the backend const operationCodes = await window.networkAPI.getOperationsCodes(); if (!operationCodes) { await window.uiAPI.showAlert('Internal error of the application.'); return; } const codeModifyUser = operationCodes.MODIFY_USER; const codeOk = operationCodes.OK; // Handle the back button click backButton.addEventListener('click', async function () { console.log('Back button clicked!'); fadeOut('main_menu'); }); // Handle the submit button click submitButton.addEventListener('click', async function (e) { e.preventDefault(); console.log('Submit button clicked!'); // Fetch form values const email = emailInput.value; const name = usernameInput.value; const password = passwordInput.value; const app_type = await window.databaseAPI.getAppType(); // Prepare the data to be sent via the UC socket const messageData = { id: id, name: name, email: email, password: password, departmentId: departmentId, app_type: app_type }; // Open UC socket if (!await window.networkAPI.openUcSocket()) { await window.uiAPI.showAlert('Failed to open socket. Internal error of the application.'); return; } // Send the message to the server using the UC socket if (!await window.networkAPI.sendUcMessage(codeModifyUser, messageData)) { await window.uiAPI.showAlert('Failed to send message.'); return; } // Wait for the response const response = await waitForResponse(); if (response && response.operationCode === codeOk) { console.log('User update successful.'); // Save updated user info to the userConfig await window.databaseAPI.writeUserInfo({ id: id, email: email, name: name, departmentId: departmentId }); // Navigate back to the main menu fadeOut('main_menu'); } else { console.log('Error updating user:', response?.metaInfo?.message || 'Unknown error'); await window.electronAPI.showAlert(response?.metaInfo?.message || 'Unknown error occurred'); } }); });