diff --git a/src/main/webapp/cliente/condominios.html b/src/main/webapp/cliente/condominios.html
index b144a47..2a353c6 100644
--- a/src/main/webapp/cliente/condominios.html
+++ b/src/main/webapp/cliente/condominios.html
@@ -1 +1 @@
-
CadastroCadastro
+CadastroCadastro
diff --git a/src/main/webapp/cliente/condominios.js b/src/main/webapp/cliente/condominios.js
index d68f3b0..6007a0e 100644
--- a/src/main/webapp/cliente/condominios.js
+++ b/src/main/webapp/cliente/condominios.js
@@ -7,10 +7,17 @@ function contem(item,q,campos){return !q||campos.some(c=>String(item[c]??'').toL
function abrirModal(titulo,html){modalTitle.textContent=titulo;modalBody.innerHTML=html;modal.classList.remove('hidden')}
function formActions(label){return ''}
+const Icons = {
+ eye: '',
+ building: '',
+ edit: '',
+ trash: ''
+};
+
function renderCondominios(){
const q=termo('#cond-search-input');
const lista=condominios.filter(c=>contem(c,q,['id','nome','cnpj','endereco']));
- rows.innerHTML=lista.map(c=>`| ${c.id} | ${esc(c.nome)} | ${esc(c.cnpj||'')} | ${esc(c.endereco||'')} | Abrir |
`).join('')||'| Nenhum condominio encontrado. |
';
+ rows.innerHTML=lista.map(c=>`| ${c.id} | ${esc(c.nome)} | ${esc(c.cnpj||'')} | ${esc(c.endereco||'')} | |
`).join('')||'| Nenhum condominio encontrado. |
';
}
async function load(){
@@ -56,8 +63,8 @@ function renderFuncionarios(){
const q=termo('#func-search-input');
const lista=funcionarios.filter(f=>contem(f,q,['nome','email','telefone','cargo','status']));
funcRows.innerHTML=lista.map(f=>{
- const acao=f.cargo==='admin_empresa'?'Acesso total':'';
- const opcoes=f.cargo==='admin_empresa'?'-':' ';
+ const acao=f.cargo==='admin_empresa'?'Acesso total':``;
+ const opcoes=f.cargo==='admin_empresa'?'-':``;
return '| '+esc(f.nome)+' | '+esc(f.email)+' | '+esc(f.telefone||'')+' | '+esc(f.cargo||'')+' | '+Util.badge(f.status)+' | '+acao+' | '+opcoes+' |
';
}).join('')||'| Nenhum funcionario encontrado. |
';
}
@@ -101,7 +108,7 @@ window.desvincularFuncionarioCondominio=async (funcId,condId)=>{try{await Api.re
function renderExtras(){
const q=termo('#extra-search-input');
const lista=extras.filter(x=>contem(x,q,['nome','email','telefone','status']));
- extraRows.innerHTML=lista.map(x=>'| '+esc(x.nome)+' | '+esc(x.email||'')+' | '+esc(x.telefone||'')+' | '+Util.badge(x.status)+' | |
').join('')||'| Nenhum destinatario extra encontrado. |
';
+ extraRows.innerHTML=lista.map(x=>'| '+esc(x.nome)+' | '+esc(x.email||'')+' | '+esc(x.telefone||'')+' | '+Util.badge(x.status)+' | |
').join('')||'| Nenhum destinatario extra encontrado. |
';
}
async function loadExtras(){
@@ -129,7 +136,7 @@ window.abrirNovoExtra=()=>{
function extraPorId(id){return extras.find(x=>Number(x.id)===Number(id))}
window.abrirEditarExtra=id=>{const x=extraPorId(id);if(!x)return;abrirModal('Editar extra','');document.querySelector('#extra-edit-form').onsubmit=async e=>{e.preventDefault();try{await Api.put('/api/extras/'+id,Util.formData(e.target));Util.toast('Extra atualizado');fecharModalCondominios();loadExtras()}catch(err){Util.toast(err.message,true)}}};
-window.excluirExtra=async id=>{try{await Api.request('/api/extras/'+id,{method:'DELETE'});Util.toast('Extra excluido');loadExtras()}catch(err){Util.toast(err.message,true)}};
+window.excluirExtra=async id=>{if(!await Util.confirm('Tem certeza que deseja excluir este destinatário extra?','Excluir extra'))return;try{await Api.request('/api/extras/'+id,{method:'DELETE'});Util.toast('Extra excluido');loadExtras()}catch(err){Util.toast(err.message,true)}};
window.alternarBuscaCadastro=tipo=>{
const strip=document.querySelector(`#${tipo}-search`),input=document.querySelector(`#${tipo}-search-input`);
diff --git a/src/main/webapp/css/app.css b/src/main/webapp/css/app.css
index 4de31e3..5339885 100644
--- a/src/main/webapp/css/app.css
+++ b/src/main/webapp/css/app.css
@@ -493,6 +493,11 @@ td .btn,
gap: 8px;
}
+.table-actions.start {
+ justify-content: flex-start;
+}
+
+a.table-icon-btn,
.table-icon-btn {
width: 36px;
height: 36px;
@@ -505,9 +510,11 @@ td .btn,
place-items: center;
padding: 0;
box-shadow: none;
+ text-decoration: none;
transition: all .16s ease;
}
+a.table-icon-btn:hover,
.table-icon-btn:hover {
background: var(--bg-soft);
color: var(--brand);
@@ -515,6 +522,38 @@ td .btn,
transform: translateY(-1px);
}
+.header-add-btn {
+ width: 36px;
+ height: 36px;
+ min-width: 36px;
+ border: 1px solid var(--brand);
+ border-radius: var(--radius-sm);
+ background: var(--brand);
+ color: #fff;
+ cursor: pointer;
+ display: inline-grid;
+ place-items: center;
+ padding: 0;
+ box-shadow: none;
+ transition: all .16s ease;
+}
+
+.header-add-btn:hover {
+ background: var(--brand-strong);
+ border-color: var(--brand-strong);
+ transform: translateY(-1px);
+}
+
+.header-add-btn svg {
+ width: 20px;
+ height: 20px;
+ fill: none;
+ stroke: currentColor;
+ stroke-width: 2.4;
+ stroke-linecap: round;
+ stroke-linejoin: round;
+}
+
.table-icon-btn.send {
color: var(--brand);
}