Adiciona listagem geral de assembleias

This commit is contained in:
Tiago
2026-10-09 08:39:19 -03:00
parent c28e88d7af
commit 5ad451b7d8
3 changed files with 32 additions and 1 deletions
+30
View File
@@ -0,0 +1,30 @@
const rows=document.querySelector('#rows');
let assembleias=[];
function esc(v){return String(v??'').replace(/[&<>'"]/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;',"'":'&#39;','"':'&quot;'}[c]))}
function termo(){return document.querySelector('#assembleia-search-input')?.value.trim().toLowerCase()||''}
function contem(q,...vals){return !q||vals.some(v=>String(v??'').toLowerCase().includes(q))}
function destinatariosLabel(a){return (a.destinatarios||[]).map(x=>x.nome+' ('+x.tipo+')').join(', ')||'-'}
function renderAssembleias(){
const q=termo();
const lista=assembleias.filter(a=>contem(q,a.condominio_nome,a.tipo,a.data_hora,a.local,a.status,destinatariosLabel(a)));
rows.innerHTML=lista.map(a=>`<tr><td><strong>${esc(a.condominio_nome||'-')}</strong></td><td>${esc(a.tipo)}</td><td>${Util.date(a.data_hora)}</td><td>${esc(a.local||'')}</td><td>${Util.badge(a.status)}</td><td>${esc(destinatariosLabel(a))}</td><td><a class="btn secondary" href="/cliente/condominio-detalhe.html?id=${a.condominio_id}">Abrir</a></td></tr>`).join('')||'<tr><td colspan="7">Nenhuma assembleia encontrada.</td></tr>';
}
async function load(){
try{
const d=await Api.get('/api/assembleias-calendario');
assembleias=d.assembleias||[];
renderAssembleias();
}catch(e){Util.toast(e.message,true)}
}
window.alternarBuscaAssembleias=()=>{
const strip=document.querySelector('#assembleia-search'),input=document.querySelector('#assembleia-search-input');
strip.classList.toggle('hidden');
if(!strip.classList.contains('hidden'))input.focus();
};
document.querySelector('#assembleia-search-input')?.addEventListener('input',renderAssembleias);
load();