From e46738c5bf45a4d2d554a55df9ec896fd44a0654 Mon Sep 17 00:00:00 2001 From: deyvisonwanderley Date: Mon, 8 Dec 2025 12:45:05 -0300 Subject: [PATCH] fix: prevent premature modal closure in PrintPontoModal by deferring onClose call until PDF generation is successful; move abrirModalImpressao function for better organization --- .../src/lib/components/ponto/PrintPontoModal.svelte | 3 ++- .../recursos-humanos/registro-pontos/+page.svelte | 12 +++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/web/src/lib/components/ponto/PrintPontoModal.svelte b/apps/web/src/lib/components/ponto/PrintPontoModal.svelte index 8983fcd..262d101 100644 --- a/apps/web/src/lib/components/ponto/PrintPontoModal.svelte +++ b/apps/web/src/lib/components/ponto/PrintPontoModal.svelte @@ -43,7 +43,8 @@ function handleGenerate() { onGenerate(sections); - onClose(); + // Não chamar onClose() aqui - o modal será fechado pelo callback onSuccess + // após a geração do PDF ser concluída com sucesso } function handleClose() { diff --git a/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte b/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte index f9abebf..25e313a 100644 --- a/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte +++ b/apps/web/src/routes/(dashboard)/recursos-humanos/registro-pontos/+page.svelte @@ -99,6 +99,12 @@ let funcionarioParaImprimir = $state | ''>(''); let mostrarModalDetalhes = $state(false); let registroDetalhesId = $state | ''>(''); + + // Função para abrir modal de impressão + const abrirModalImpressao = (funcionarioId: Id<'funcionarios'>) => { + funcionarioParaImprimir = funcionarioId; + mostrarModalImpressao = true; + }; let chartCanvas: HTMLCanvasElement; let chartInstance: Chart | null = null; @@ -591,11 +597,7 @@ // Funções importadas de $lib/utils/ponto/processamento e $lib/utils/ponto/validacao // gerarDiasPeriodo, gerarRegistrosEsperados, registroFoiMarcado - - const abrirModalImpressao = (funcionarioId: Id<'funcionarios'>) => { - funcionarioParaImprimir = funcionarioId; - mostrarModalImpressao = true; - }; + // Função abrirModalImpressao movida para cima, próximo às declarações de estado // ============================================ // FUNÇÕES AUXILIARES DE FORMATAÇÃO