export function renderLogin(onLogin) {
const loginContainer = document.createElement('div');
loginContainer.className = 'login-container';
loginContainer.innerHTML = `
Doli App
Panel de facturación · Dolibarr
`;
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;
}