primeira versão do e-li-nps construido com IA

This commit is contained in:
Luiz Silva 2025-12-31 11:18:20 -03:00
commit 06950d6e2c
34 changed files with 2524 additions and 0 deletions

87
web/static/teste.html Normal file
View file

@ -0,0 +1,87 @@
<!doctype html>
<html lang="pt-br">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>e-li.nps • Teste</title>
<style>
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:24px;}
.card{max-width:760px;margin:0 auto;border:1px solid #e5e5e5;border-radius:12px;padding:16px;}
.row{display:flex;gap:12px;flex-wrap:wrap;}
label{display:block;font-size:12px;color:#444;margin-bottom:6px;}
input{width:280px;max-width:100%;padding:10px;border:1px solid #ddd;border-radius:10px;}
button{padding:10px 14px;border-radius:10px;border:1px solid #111;background:#111;color:#fff;cursor:pointer;}
code{background:#f6f6f6;padding:2px 6px;border-radius:6px;}
.muted{color:#555;font-size:13px;}
</style>
</head>
<body>
<div class="card">
<h1>e-li.nps • Página de teste</h1>
<p class="muted">
Esta página carrega <code>/static/e-li.nps.js</code> e dispara <code>window.ELiNPS.init()</code>.
Se a API permitir, abrirá o modal (iframe) com o formulário HTMX.
</p>
<div class="row">
<div>
<label>produto_nome</label>
<input id="produto" value="e-licencie.ind" />
</div>
<div>
<label>inquilino_codigo</label>
<input id="inquilino_codigo" value="acme" />
</div>
<div>
<label>inquilino_nome</label>
<input id="inquilino_nome" value="ACME LTDA" />
</div>
<div>
<label>usuario_codigo</label>
<input id="usuario_codigo" value="u-123" />
</div>
<div>
<label>usuario_nome</label>
<input id="usuario_nome" value="Maria" />
</div>
<div>
<label>usuario_telefone</label>
<input id="usuario_telefone" value="+55 11 99999-9999" />
</div>
<div>
<label>usuario_email (opcional)</label>
<input id="usuario_email" value="maria@acme.com" />
</div>
</div>
<p style="margin-top:16px;">
<button id="btn">Abrir NPS</button>
</p>
<p class="muted">
Dica: se você testar repetidamente, pode cair nas regras (45 dias / 10 dias).
Para forçar reaparecer, use outro e-mail ou limpe a tabela do produto no Postgres.
</p>
</div>
<script src="/static/e-li.nps.js"></script>
<script>
function read(id){ return document.getElementById(id).value; }
document.getElementById('btn').addEventListener('click', function(){
window.ELiNPS.init({
apiBase: window.location.origin,
// Bloqueia abertura antes de uma data (YYYY-MM-DD).
// Ex.: "2026-01-01".
// data_minima_abertura: '2026-01-01',
produto_nome: read('produto'),
inquilino_codigo: read('inquilino_codigo'),
inquilino_nome: read('inquilino_nome'),
usuario_codigo: read('usuario_codigo'),
usuario_nome: read('usuario_nome'),
usuario_telefone: read('usuario_telefone'),
usuario_email: read('usuario_email')
});
});
</script>
</body>
</html>