From e34f915c0848288df8425e3878d64b92a1d52b27 Mon Sep 17 00:00:00 2001 From: NANDO9322 Date: Mon, 23 Feb 2026 18:29:10 -0300 Subject: [PATCH] fix: resolvido ao atualizar a pagina de cadastro de cliente /cadastro a lista toda de empresas aparece --- frontend/App.tsx | 6 +++++- frontend/pages/Register.tsx | 33 ++++++++++++++++++++++++++------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/frontend/App.tsx b/frontend/App.tsx index c82157e..072b120 100644 --- a/frontend/App.tsx +++ b/frontend/App.tsx @@ -188,7 +188,7 @@ const AccessCodeProtectedRoute: React.FC = ({ chi value={accessCode} onChange={(e) => { setAccessCode(e.target.value.toUpperCase()); - resetCodeForm(); + setCodeError(""); }} onKeyPress={(e) => e.key === "Enter" && handleVerifyCode()} className="w-full px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-[#B9CF33] focus:border-transparent uppercase" @@ -319,6 +319,10 @@ const HomeWithRouter: React.FC = () => { const navigate = useNavigate(); const { user } = useAuth(); + if (user) { + return ; + } + return (
diff --git a/frontend/pages/Register.tsx b/frontend/pages/Register.tsx index bdc259f..8647ccc 100644 --- a/frontend/pages/Register.tsx +++ b/frontend/pages/Register.tsx @@ -51,16 +51,35 @@ export const Register: React.FC = ({ onNavigate }) => { loadCompanies(); }, []); - // Verifica se tem empresa pré-selecionada via URL (código de acesso) + // Verifica se tem empresa pré-selecionada via URL (código de acesso) ou sessão useEffect(() => { const urlParams = new URLSearchParams(window.location.search); - const empresaId = urlParams.get('empresa_id'); - const empresaNome = urlParams.get('empresa_nome'); + const empresaIdFromUrl = urlParams.get('empresa_id'); + const empresaNomeFromUrl = urlParams.get('empresa_nome'); - if (empresaId) { - setFormData(prev => ({ ...prev, empresaId })); - // Limpa os parâmetros da URL após usar - window.history.replaceState({}, document.title, window.location.pathname); + // Tenta pegar da URL primeiro, se não tiver, tenta da sessão persistida + let targetEmpresaId = empresaIdFromUrl; + + if (!targetEmpresaId) { + const sessionDataStr = sessionStorage.getItem('accessCodeData'); + if (sessionDataStr) { + try { + const sessionData = JSON.parse(sessionDataStr); + if (sessionData && sessionData.empresa_id) { + targetEmpresaId = sessionData.empresa_id; + } + } catch (e) { + console.error("Erro ao parsear accessCodeData da sessão", e); + } + } + } + + if (targetEmpresaId) { + setFormData(prev => ({ ...prev, empresaId: targetEmpresaId })); + // Limpa os parâmetros da URL após usar (para não ficar feio na barra) + if (window.location.search) { + window.history.replaceState({}, document.title, window.location.pathname); + } } }, [companies]);