From f16c1dc2869aa2bd1fa8628ca12597375b0de582 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Mon, 8 Jun 2026 00:58:11 +0000 Subject: [PATCH] Correcao do salvamento automatico no canvas ao fechar o modal, ajustes de cores e exibicao de assets na impressao e inicializacao de data-rotation --- public/app.js | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/public/app.js b/public/app.js index 7e3519c..eefa56d 100644 --- a/public/app.js +++ b/public/app.js @@ -7068,12 +7068,20 @@ document.addEventListener('DOMContentLoaded', () => { if (btnCloseCartazesModal) { btnCloseCartazesModal.addEventListener('click', () => { + if (canvasModeActive) { + exitCanvasMode(); + } cartazesModal.style.display = 'none'; }); } cartazesModal.addEventListener('click', (e) => { - if (e.target === cartazesModal) cartazesModal.style.display = 'none'; + if (e.target === cartazesModal) { + if (canvasModeActive) { + exitCanvasMode(); + } + cartazesModal.style.display = 'none'; + } }); // Switch Tab @@ -7300,12 +7308,14 @@ document.addEventListener('DOMContentLoaded', () => { const tamanho = document.getElementById('cartazTamanhoSelect') ? document.getElementById('cartazTamanhoSelect').value : 'A4'; const orientacao = document.getElementById('cartazOrientacaoSelect') ? document.getElementById('cartazOrientacaoSelect').value : 'retrato'; - const imgContainerHtml = cartazPreviewImageContainer.style.display === 'block' && !canvasModeActive + const imgContainerHtml = cartazPreviewImageContainer.style.display === 'block' && cartazPreviewImageContainer.style.position !== 'absolute' ? `
` : ''; let printContent = ''; - if (canvasModeActive) { + const hasCanvasItems = cartazPrintableArea.querySelectorAll('.canvas-item').length > 0; + + if (hasCanvasItems) { // Clone printable area and cleanup handles / active state borders for print output const tempContainer = document.createElement('div'); tempContainer.innerHTML = cartazPrintableArea.innerHTML; @@ -7313,8 +7323,7 @@ document.addEventListener('DOMContentLoaded', () => { tempContainer.querySelectorAll('.canvas-item').forEach(item => { item.classList.remove('active-item'); item.removeAttribute('contenteditable'); - // We can remove border style only if it was a dashed editing border - if (item.style.border.includes('dashed')) { + if (item.style.border && item.style.border.includes('dashed')) { item.style.border = 'none'; } }); @@ -7338,6 +7347,11 @@ document.addEventListener('DOMContentLoaded', () => {