This commit is contained in:
Lizandro Guarnizo
2026-01-21 22:19:26 -05:00
parent 31dbc8aa86
commit ab993302f9
2 changed files with 161 additions and 2 deletions
+58 -1
View File
@@ -561,8 +561,16 @@ if (empty($user_id)) {
const displayName = currentUser.name || 'Usuario';
const phoneNumber = currentUser.phone_number || '';
document.getElementById('userName').innerHTML = `
${escapeHtml(displayName)}
<span id="userNameText">${escapeHtml(displayName)}</span>
<button id="editNameBtn" class="btn btn-sm btn-light ms-2" onclick="editUserName()" title="Editar nombre">
<i class="fas fa-edit"></i>
</button>
${phoneNumber ? `<br><small class="opacity-75">${escapeHtml(phoneNumber)}</small>` : ''}
<div id="editNameContainer" style="display:none; margin-top:6px;">
<input id="editNameInput" class="form-control form-control-sm" type="text" value="${escapeHtml(displayName)}" style="display:inline-block; width:70%;">
<button id="saveNameBtn" class="btn btn-sm btn-success ms-2" onclick="saveUserName()">Guardar</button>
<button id="cancelNameBtn" class="btn btn-sm btn-secondary ms-1" onclick="cancelEditUserName()">Cancelar</button>
</div>
`;
document.getElementById('userAvatar').innerHTML =
`<span>${(currentUser.name || 'U').charAt(0).toUpperCase()}</span>`;
@@ -1112,6 +1120,55 @@ if (empty($user_id)) {
showAlert('Error al cambiar estado de atención: ' + err.message, 'danger');
}
}
// ===== Edición de nombre de usuario =====
function editUserName() {
const container = document.getElementById('editNameContainer');
const input = document.getElementById('editNameInput');
if (!container || !input) return;
input.value = currentUser.name || '';
container.style.display = 'block';
document.getElementById('editNameBtn').style.display = 'none';
input.focus();
}
function cancelEditUserName() {
const container = document.getElementById('editNameContainer');
if (!container) return;
container.style.display = 'none';
document.getElementById('editNameBtn').style.display = 'inline-block';
}
async function saveUserName() {
const input = document.getElementById('editNameInput');
const saveBtn = document.getElementById('saveNameBtn');
if (!input || !saveBtn) return;
const newName = input.value.trim();
if (newName.length === 0) {
showAlert('El nombre no puede estar vacío', 'warning');
return;
}
saveBtn.disabled = true;
try {
const resp = await whatsappManager.apiCall('update_user.php', { body: { user_id: userId, name: newName } });
if (resp && resp.success) {
currentUser.name = newName;
document.getElementById('userNameText').innerHTML = escapeHtml(newName);
document.getElementById('userAvatar').innerHTML = `<span>${escapeHtml(newName.charAt(0).toUpperCase() || 'U')}</span>`;
cancelEditUserName();
showAlert('Nombre actualizado', 'success');
} else {
throw new Error(resp.error || 'Error actualizando nombre');
}
} catch (err) {
console.error('Error saving user name:', err);
showAlert('Error al actualizar nombre: ' + err.message, 'danger');
} finally {
saveBtn.disabled = false;
}
}
function showError(message) {
showAlert(message, 'danger');