export function renderLogin(onLogin) { const loginContainer = document.createElement('div'); loginContainer.className = 'login-container'; loginContainer.innerHTML = `

`; const form = loginContainer.querySelector('#login-form'); const loginBtn = loginContainer.querySelector('#login-btn'); const loginIcon = loginBtn.querySelector('.login-icon'); const loginBtnText = loginBtn.querySelector('.login-btn-text'); form.addEventListener('submit', async (e) => { e.preventDefault(); // Disable form while loading const inputs = form.querySelectorAll('input'); loginBtn.disabled = true; inputs.forEach(i => i.disabled = true); loginIcon.style.display = 'none'; loginBtnText.textContent = 'Iniciando sesión...'; // Add spinner const spinner = document.createElement('span'); spinner.className = 'spinner'; loginBtn.insertBefore(spinner, loginBtnText); const email = loginContainer.querySelector('#identifier').value; const password = loginContainer.querySelector('#password').value; try { await onLogin(email, password); } finally { // Re-enable form loginBtn.disabled = false; inputs.forEach(i => i.disabled = false); spinner.remove(); loginIcon.style.display = ''; loginBtnText.textContent = 'Iniciar Sesión'; } }); return loginContainer; }