From 8894a5068e1404b92f0a8402c664d58e086a189a Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Mon, 31 Aug 2026 19:51:43 +0000 Subject: [PATCH] Previne fechamento acidental do modal de quadrinhos ao clicar fora e adiciona auto-salvamento automatico pos-geracao --- public/app.js | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/public/app.js b/public/app.js index f288391..19c5c1e 100644 --- a/public/app.js +++ b/public/app.js @@ -4914,17 +4914,26 @@ Se algum dado não for mencionado, deixe a string vazia ou false para boolean.` } if (btnCloseComicsModal) { - btnCloseComicsModal.addEventListener('click', () => { + btnCloseComicsModal.addEventListener('click', async () => { + if (comicsGenerateLoader && comicsGenerateLoader.style.display === 'flex') { + const confirmed = await showCustomConfirm( + 'Geração em Andamento', + 'Sua história ainda está sendo gerada. Deseja realmente sair e cancelar a criação?' + ); + if (!confirmed) return; + } fabricaQuadrinhosModal.style.display = 'none'; if (comicsVideoPlayer) comicsVideoPlayer.pause(); }); } - // Fechar modal clicando fora + // Prevenir fechamento acidental ao clicar fora da janela do modal window.addEventListener('click', (e) => { if (e.target === fabricaQuadrinhosModal) { - fabricaQuadrinhosModal.style.display = 'none'; - if (comicsVideoPlayer) comicsVideoPlayer.pause(); + if (comicsGenerateLoader && comicsGenerateLoader.style.display === 'flex') { + showCustomAlert('Aviso', 'Sua história em quadrinhos está sendo gerada. Por favor, aguarde a conclusão.'); + } + // O modal permanece aberto para proteger o trabalho da professora contra cliques acidentais fora da janela } }); @@ -5126,6 +5135,14 @@ Se algum dado não for mencionado, deixe a string vazia ou false para boolean.` comicsResultArea.style.display = 'flex'; btnGenerateComics.disabled = false; + // Salvamento automático imediato pós-geração para garantir que a história NUNCA se perca + try { + await saveComicsProjectFlow(false); + await showCustomAlert('🎉 História Gerada e Salva!', 'Sua história em quadrinhos foi concluída e salva automaticamente em "Meus Projetos"!'); + } catch (autoSaveErr) { + console.warn('Falha no auto-salvamento pós geração:', autoSaveErr.message); + } + } catch (err) { console.error('Erro ao fabricar quadrinhos:', err); await showCustomAlert('Erro', 'Erro ao fabricar quadrinhos: ' + err.message);