Portal de clientes
Ingresar / Crear cuenta
Accedé para ver solo la información de tu cuenta en un panel visual claro, elegante y profesional.
Te enviaremos un mail de CobrarIA
Volver
(function(){
var root=document.getElementById('cobrariaPortalAuth'); if(!root) return;
var ajax=root.getAttribute('data-ajax-url');
var nonce=root.getAttribute('data-auth-nonce');
var initialTab=root.getAttribute('data-initial-tab') || 'login';
var msg=root.querySelector('.msg');
function show(t, isOk){
if(!msg) return;
msg.style.display='block';
msg.textContent=t || '';
msg.style.background = isOk ? 'rgba(16,185,129,.18)' : 'rgba(255,255,255,.92)';
msg.style.border = isOk ? '1px solid rgba(16,185,129,.35)' : '1px solid rgba(255,255,255,.22)';
msg.style.color = isOk ? '#ffffff' : '#111827';
}
function setTab(tab){
root.querySelectorAll('.cobraria-tab').forEach(function(b){ b.classList.remove('is-active'); });
var btn = root.querySelector('.cobraria-tab[data-tab="'+tab+'"]');
if(btn) btn.classList.add('is-active');
root.querySelectorAll('.panel').forEach(function(p){
p.style.display = (p.getAttribute('data-panel')===tab) ? 'block' : 'none';
});
if(msg) msg.style.display='none';
}
function post(action, data, onDone){
var fd=new FormData();
fd.append('action', action);
fd.append('nonce', nonce);
Object.keys(data||{}).forEach(function(k){ fd.append(k, data[k] ?? ''); });
fetch(ajax, {method:'POST', credentials:'same-origin', body:fd})
.then(function(r){ return r.text().then(function(t){ return {status:r.status, text:t}; }); })
.then(function(x){
var parsed=null;
try{ parsed = JSON.parse(x.text); }catch(e){}
if(!parsed){
show('Respuesta inválida del servidor. Revisá WP_DEBUG y el log.', false);
if(onDone) onDone(false);
return;
}
if(parsed.success){
show(parsed.data && parsed.data.message ? parsed.data.message : 'OK', true);
if(onDone) onDone(true);
}else{
show(parsed.data && parsed.data.message ? parsed.data.message : 'No se pudo completar la acción.', false);
if(onDone) onDone(false);
}
})
.catch(function(){
show('Error de conexión o bloqueo (cache/firewall).', false);
if(onDone) onDone(false);
});
}
root.querySelectorAll('.cobraria-tab').forEach(function(b){
b.addEventListener('click', function(e){
e.preventDefault();
setTab(b.getAttribute('data-tab'));
});
});
root.querySelectorAll('.cobraria-portal-auth-lost').forEach(function(link){
if (link.classList.contains('cobraria-portal-auth-back')) return;
link.addEventListener('click', function(e){
e.preventDefault();
setTab('recover');
});
});
var back = root.querySelector('.cobraria-portal-auth-back');
if(back){
back.addEventListener('click', function(e){
e.preventDefault();
setTab('login');
});
}
var btnLogin = root.querySelector('button.login');
if(btnLogin){
btnLogin.addEventListener('click', function(e){
e.preventDefault();
btnLogin.disabled=true;
show('Ingresando…', false);
post('cobraria_login', {
username: (root.querySelector('.u')||{}).value || '',
password: (root.querySelector('.p')||{}).value || ''
}, function(ok){
btnLogin.disabled=false;
if(ok) setTimeout(function(){ location.reload(); }, 650);
});
});
}
var btnReg = root.querySelector('button.reg');
if(btnReg){
btnReg.addEventListener('click', function(e){
e.preventDefault();
btnReg.disabled=true;
show('Creando cuenta…', false);
post('cobraria_register', {
first_name: (root.querySelector('.first')||{}).value || '',
last_name: (root.querySelector('.last')||{}).value || '',
email: (root.querySelector('.email')||{}).value || '',
password: (root.querySelector('.pass')||{}).value || ''
}, function(ok){
btnReg.disabled=false;
if(ok) setTimeout(function(){ location.reload(); }, 650);
});
});
}
var btnRecover = root.querySelector('button.recover');
if(btnRecover){
btnRecover.addEventListener('click', function(e){
e.preventDefault();
btnRecover.disabled = true;
show('Enviando mail de recuperación…', false);
post('cobraria_recover_password', {
user_login: (root.querySelector('.recover-user')||{}).value || ''
}, function(){
btnRecover.disabled = false;
});
});
}
setTab(initialTab);
})();