Saltar al contenido
Encender vela
'; }).join(''); }).catch(_=>{ list.innerHTML='

Error cargando transmisiones.

'; }); } function renderEmbed(platform, id){ if(platform==='youtube') return ''; if(platform==='vimeo') return ''; if(platform==='facebook') return ''; return ''; } tabs.forEach(t=>t.addEventListener('click',()=>load(t.dataset.tab))); load(currentStatus === 'all' ? 'live' : currentStatus); }function wizardInit(root){ const rest=root.dataset.rest, nonce=root.dataset.nonce; const steps=root.querySelectorAll('.cvh-tx-step'); const stepsLis=root.querySelectorAll('.cvh-tx-steps li'); let current=1, parroquia_id=0;function goto(n){ current=n; steps.forEach(s=>{ s.hidden = (parseInt(s.dataset.stepContent)!==n); }); stepsLis.forEach(li=>{ li.setAttribute('aria-current', parseInt(li.dataset.step)===n?'step':'false'); }); }// Step 1: búsqueda parroquia const searchInput=root.querySelector('#cvh-tx-parroquia-search'); const resultsList=root.querySelector('.cvh-tx-results'); const hidden=root.querySelector('input[name=parroquia_id]'); const nextBtn1=root.querySelector('[data-step-content="1"] .cvh-tx-next'); let searchTimer=null; searchInput && searchInput.addEventListener('input', ()=>{ clearTimeout(searchTimer); const q=searchInput.value.trim(); if(q.length<3){ resultsList.innerHTML=''; return; } searchTimer=setTimeout(()=>{ fetch(MAPA_URL+'?q='+encodeURIComponent(q)) .then(r=>r.json()).then(d=>{ const items = (d && d.items) ? d.items.slice(0,20) : []; resultsList.innerHTML = items.map(it=>'
  • '+esc(it.nombre||it.title||('Templo #'+it.id))+' '+esc(it.pais||'')+'
  • ').join(''); resultsList.querySelectorAll('li').forEach(li=>li.addEventListener('click',()=>{ parroquia_id = parseInt(li.dataset.id); hidden.value = parroquia_id; resultsList.querySelectorAll('li').forEach(x=>x.setAttribute('aria-selected','false')); li.setAttribute('aria-selected','true'); nextBtn1.disabled = false; })); }).catch(_=>{ resultsList.innerHTML=''; }); }, 300); }); nextBtn1 && nextBtn1.addEventListener('click', ()=>goto(2));// Step 2: detalles + preview const platformSel=root.querySelector('select[name=platform]'); const embedInput=root.querySelector('input[name=embed]'); const tipoSel=root.querySelector('select[name=tipo]'); const prevEl=root.querySelector('.cvh-tx-preview'); const menoresEl=root.querySelector('.cvh-tx-derechos-menores'); const nextBtn2=root.querySelector('[data-step-content="2"] .cvh-tx-next'); root.querySelector('[data-step-content="2"] .cvh-tx-prev').addEventListener('click',()=>goto(1)); function updatePreview(){ const pf=platformSel.value, e=embedInput.value.trim(); if(!e){ prevEl.innerHTML=''; return; } let src=''; let id=e; if(pf==='youtube'){ const m = e.match(/(?:youtu\.be\/|youtube\.com\/(?:watch\?v=|live\/|embed\/))([a-zA-Z0-9_-]{11})/); id = m ? m[1] : (e.length===11 && /^[a-zA-Z0-9_-]{11}$/.test(e) ? e : null); if(!id){ prevEl.innerHTML='Enlace YouTube no válido'; return; } src='https://www.youtube-nocookie.com/embed/'+id; } else if(pf==='vimeo'){ const m = e.match(/vimeo\.com\/(\d{5,12})/); id = m ? m[1] : (/^\d{5,12}$/.test(e) ? e : null); if(!id){ prevEl.innerHTML='ID/URL Vimeo no válido'; return; } src='https://player.vimeo.com/video/'+id; } else if(pf==='facebook'){ if(!/facebook\.com|fb\.watch/.test(e)){ prevEl.innerHTML='URL Facebook no válida'; return; } src='https://www.facebook.com/plugins/video.php?href='+encodeURIComponent(e)+'&show_text=false'; } if(src){ prevEl.innerHTML=''; } } platformSel && platformSel.addEventListener('change', updatePreview); embedInput && embedInput.addEventListener('blur', updatePreview); tipoSel && tipoSel.addEventListener('change', ()=>{ menoresEl.hidden = !(tipoSel.value==='bautizo' || tipoSel.value==='comunion'); }); nextBtn2 && nextBtn2.addEventListener('click', ()=>goto(3));// Step 3: derechos + submit root.querySelector('[data-step-content="3"] .cvh-tx-prev').addEventListener('click',()=>goto(2)); const dercheck=root.querySelector('input[name=derechos]'); const submitBtn=root.querySelector('.cvh-tx-submit'); const resultEl=root.querySelector('.cvh-tx-result'); dercheck && dercheck.addEventListener('change', ()=>{ submitBtn.disabled = !dercheck.checked; }); submitBtn && submitBtn.addEventListener('click', ()=>{ submitBtn.disabled = true; const body = { parroquia_id: parroquia_id, platform: platformSel.value, embed: embedInput.value.trim(), tipo: tipoSel.value, starts_at: root.querySelector('input[name=starts_at]').value || '', ends_at: root.querySelector('input[name=ends_at]').value || '', derechos: true, }; fetch(rest+'/submit', { method:'POST', credentials:'same-origin', headers:{'Content-Type':'application/json','X-WP-Nonce':nonce}, body: JSON.stringify(body) }).then(r=>r.json()).then(d=>{ if(d && d.ok){ resultEl.innerHTML = '
    '+esc(d.message)+'
    '; } else { resultEl.innerHTML = '
    '+esc((d && d.message) || 'Error al enviar')+'
    '; submitBtn.disabled = false; } }).catch(_=>{ resultEl.innerHTML='
    Error de conexión
    '; submitBtn.disabled=false; }); });goto(1); }function boot(){ document.querySelectorAll('[data-cvh-tx-feed]').forEach(feedInit); document.querySelectorAll('[data-cvh-tx-wizard]').forEach(wizardInit); } if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', boot); else boot(); })(); //# sourceURL=cvh-tx-ui-js-after