fix: modal limpar proprio + remove hint senha dinamica
Build Fechamento de Caixa / build (macos-14, app) (push) Has been cancelled
Build Fechamento de Caixa / build (ubuntu-22.04, deb) (push) Has been cancelled
Build Fechamento de Caixa / build (windows-2022, msi) (push) Has been cancelled

This commit is contained in:
root
2026-07-02 15:49:32 +00:00
parent 7154901ce3
commit 50b0ba4498
+42 -31
View File
@@ -2105,36 +2105,48 @@ document.getElementById('btn-recibo').addEventListener('click', async () => {
}); });
document.getElementById('btn-limpar').addEventListener('click', () => { document.getElementById('btn-limpar').addEventListener('click', () => {
try { const overlay = document.createElement('div');
if (!confirm('Tem certeza? Irá apagar todas as informações para iniciar uma nova.')) return; overlay.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:999999;display:flex;align-items:center;justify-content:center;';
} catch(e) { return; } overlay.id = 'clear-modal';
localStorage.removeItem(LS_KEY); overlay.innerHTML = `
estado = { <div style="background:#fff;border-radius:10px;padding:28px;width:340px;text-align:center">
uuid: crypto.randomUUID ? crypto.randomUUID() : Date.now().toString(), <div style="font-size:20px;margin-bottom:12px">⚠️ Limpar Rascunho</div>
loja: estado.loja, data: estado.data, operador: '', turno: '', <div style="font-size:13px;color:#555;margin-bottom:20px;line-height:1.5">Tem certeza?<br>Irá <strong>apagar todas as informações</strong> lançadas para iniciar uma nova.</div>
saldo_troco: 0, fechamento: 0, saldo_esperado: 0, diferenca: 0, <div style="display:flex;gap:10px;justify-content:center">
despesas: [], sangrias: [], pixcnpj: [], vales: [], receber: [], cancelamentos: [], <button id="clear-cancel-btn" style="padding:9px 20px;background:#888;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px">Cancelar</button>
cartoes: { credito: [], debito: [], alimentacao: [], pix: [] }, <button id="clear-ok-btn" style="padding:9px 20px;background:#c0272d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px">Apagar tudo</button>
fechamento_contado: { dinheiro: 0, cartoes: 0, receber: 0 }, </div>
observacoes: '', id_local: null, sync_status: 'local' </div>`;
}; document.body.appendChild(overlay);
// Limpa arrays document.getElementById('clear-cancel-btn').addEventListener('click', () => overlay.remove());
estado.sangrias = []; estado.despesas = []; estado.pixcnpj = []; document.getElementById('clear-ok-btn').addEventListener('click', () => {
estado.vales = []; estado.receber = []; estado.cancelamentos = []; overlay.remove();
estado.cartoes = { credito: [], debito: [], alimentacao: [], pix: [] }; localStorage.removeItem(LS_KEY);
estado.fechamento_contado = { dinheiro: 0, cartoes: 0, receber: 0 }; estado = {
// Limpa todos os campos do formulário principal uuid: crypto.randomUUID ? crypto.randomUUID() : Date.now().toString(),
setVal('f-operador', ''); setVal('f-turno', ''); loja: estado.loja, data: estado.data, operador: '', turno: '',
setVal('f-fech-dinheiro', ''); setVal('f-fech-cartoes', ''); setVal('f-fech-receber', ''); saldo_troco: 0, fechamento: 0, saldo_esperado: 0, diferenca: 0,
setVal('f-saldo-esperado', ''); setVal('f-obs', ''); despesas: [], sangrias: [], pixcnpj: [], vales: [], receber: [], cancelamentos: [],
setVal('f-vendas', ''); setVal('f-clientes', ''); setVal('f-frango', ''); cartoes: { credito: [], debito: [], alimentacao: [], pix: [] },
setVal('sys-troco', ''); setVal('sys-total', ''); fechamento_contado: { dinheiro: 0, cartoes: 0, receber: 0 },
setVal('sys-credito', ''); setVal('sys-debito', ''); observacoes: '', id_local: null, sync_status: 'local'
setVal('sys-alimentacao', ''); setVal('sys-pixcnpj', ''); };
Object.keys(TABLES).forEach(renderTable); estado.sangrias = []; estado.despesas = []; estado.pixcnpj = [];
updateTotals(); estado.vales = []; estado.receber = []; estado.cancelamentos = [];
syncUI(); estado.cartoes = { credito: [], debito: [], alimentacao: [], pix: [] };
showToast('Rascunho limpo.', 'info'); estado.fechamento_contado = { dinheiro: 0, cartoes: 0, receber: 0 };
setVal('f-operador', ''); setVal('f-turno', '');
setVal('f-fech-dinheiro', ''); setVal('f-fech-cartoes', ''); setVal('f-fech-receber', '');
setVal('f-saldo-esperado', ''); setVal('f-obs', '');
setVal('f-vendas', ''); setVal('f-clientes', ''); setVal('f-frango', '');
setVal('sys-troco', ''); setVal('sys-total', '');
setVal('sys-credito', ''); setVal('sys-debito', '');
setVal('sys-alimentacao', ''); setVal('sys-pixcnpj', '');
Object.keys(TABLES).forEach(renderTable);
updateTotals();
syncUI();
showToast('Rascunho limpo.', 'info');
});
}); });
// ─── Dia Anterior — seleção + consulta + edição de registros do Supabase ─── // ─── Dia Anterior — seleção + consulta + edição de registros do Supabase ───
@@ -2669,7 +2681,6 @@ function askPassword() {
overlay.innerHTML = ` overlay.innerHTML = `
<div style="background:#fff;border-radius:10px;padding:24px;width:300px;text-align:center"> <div style="background:#fff;border-radius:10px;padding:24px;width:300px;text-align:center">
<div style="font-size:18px;margin-bottom:16px">🔐 Senha Admin</div> <div style="font-size:18px;margin-bottom:16px">🔐 Senha Admin</div>
<div style="font-size:11px;color:#888;margin-bottom:12px">Dinâmica hoje: <strong>${getDynamicPw()}</strong></div>
<input type="password" id="pw-input" placeholder="Digite a senha..." style="width:100%;padding:10px;font-size:14px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;margin-bottom:12px" /> <input type="password" id="pw-input" placeholder="Digite a senha..." style="width:100%;padding:10px;font-size:14px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;margin-bottom:12px" />
<div id="pw-error" style="color:#c0272d;font-size:12px;margin-bottom:8px;display:none">Senha incorreta</div> <div id="pw-error" style="color:#c0272d;font-size:12px;margin-bottom:8px;display:none">Senha incorreta</div>
<div style="display:flex;gap:8px;justify-content:center"> <div style="display:flex;gap:8px;justify-content:center">