From 7ccca5c233d1db59bb12e358c6a0fd77c2fa624c Mon Sep 17 00:00:00 2001 From: deyvisonwanderley Date: Mon, 22 Dec 2025 13:47:05 -0300 Subject: [PATCH] feat: implement requisition approval and rejection functionality in 'Almoxarifado', including stock verification, modal confirmations, and improved error handling for better inventory management --- .../almoxarifado/ImageUpload.svelte | 5 + .../ferias/WizardSolicitacaoFerias.svelte | 2 + .../src/routes/(dashboard)/+layout.server.ts | 21 +- .../materiais/cadastro/+page.svelte | 6 + .../almoxarifado/requisicoes/+page.svelte | 611 +++++++++++++++++- packages/backend/convex/almoxarifado.ts | 156 ++++- packages/backend/convex/auth.ts | 2 +- .../backend/convex/tables/almoxarifado.ts | 3 + 8 files changed, 783 insertions(+), 23 deletions(-) diff --git a/apps/web/src/lib/components/almoxarifado/ImageUpload.svelte b/apps/web/src/lib/components/almoxarifado/ImageUpload.svelte index 1423304..be83f5f 100644 --- a/apps/web/src/lib/components/almoxarifado/ImageUpload.svelte +++ b/apps/web/src/lib/components/almoxarifado/ImageUpload.svelte @@ -72,6 +72,11 @@ } function resizeImage(dataUrl: string, maxWidth: number, maxHeight: number): Promise { + // Verificar se estamos no browser (não durante SSR) + if (typeof window === 'undefined') { + return Promise.reject(new Error('resizeImage não pode ser executada durante SSR')); + } + return new Promise((resolve, reject) => { const img = new window.Image(); img.onload = () => { diff --git a/apps/web/src/lib/components/ferias/WizardSolicitacaoFerias.svelte b/apps/web/src/lib/components/ferias/WizardSolicitacaoFerias.svelte index 67df941..170c15a 100644 --- a/apps/web/src/lib/components/ferias/WizardSolicitacaoFerias.svelte +++ b/apps/web/src/lib/components/ferias/WizardSolicitacaoFerias.svelte @@ -1,6 +1,8 @@