From bbd2ec46dde2177030185e9258f014dec02d7179 Mon Sep 17 00:00:00 2001 From: Frederico Castro Date: Thu, 26 Feb 2026 21:03:16 -0300 Subject: [PATCH] =?UTF-8?q?Bot=C3=B5es=20de=20copiar=20e=20download=20no?= =?UTF-8?q?=20modal=20de=20relat=C3=B3rio=20de=20execu=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/css/styles.css | 8 +++++++- public/js/app.js | 28 +++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/public/css/styles.css b/public/css/styles.css index cdcdf3e..59cd1fc 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -4233,8 +4233,14 @@ body, .sidebar, .header, .card, .modal-content, .input, .select, textarea, .metr .hidden { display: none !important; } +.report-actions { + display: flex; + gap: 8px; + margin-bottom: 12px; +} + .report-content { - max-height: 70vh; + max-height: 65vh; overflow-y: auto; padding: 1.5rem; background: var(--bg-primary); diff --git a/public/js/app.js b/public/js/app.js index 3830243..f919947 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -326,7 +326,33 @@ const App = { if (!modal || !title || !content) return; title.textContent = 'Relatório de Execução'; - content.innerHTML = `
${Utils.escapeHtml(data.content)}
`; + content.innerHTML = ` +
+ + +
+
${Utils.escapeHtml(data.content)}
`; + Utils.refreshIcons(content); + + document.getElementById('report-copy-btn')?.addEventListener('click', () => { + navigator.clipboard.writeText(data.content).then(() => Toast.success('Relatório copiado')); + }); + + document.getElementById('report-download-btn')?.addEventListener('click', () => { + const blob = new Blob([data.content], { type: 'text/markdown' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = filename; + a.click(); + URL.revokeObjectURL(url); + Toast.success('Download iniciado'); + }); + Modal.open('execution-detail-modal-overlay'); } catch (e) {} },