fix: resolvido ao atualizar a pagina de cadastro de cliente /cadastro a lista toda de empresas aparece

This commit is contained in:
NANDO9322 2026-02-23 18:29:10 -03:00
parent 0c59752758
commit e34f915c08
2 changed files with 31 additions and 8 deletions

View file

@ -188,7 +188,7 @@ const AccessCodeProtectedRoute: React.FC<AccessCodeProtectedRouteProps> = ({ chi
value={accessCode} value={accessCode}
onChange={(e) => { onChange={(e) => {
setAccessCode(e.target.value.toUpperCase()); setAccessCode(e.target.value.toUpperCase());
resetCodeForm(); setCodeError("");
}} }}
onKeyPress={(e) => e.key === "Enter" && handleVerifyCode()} 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" 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 navigate = useNavigate();
const { user } = useAuth(); const { user } = useAuth();
if (user) {
return <Navigate to="/painel" replace />;
}
return ( return (
<div className="min-h-screen bg-white"> <div className="min-h-screen bg-white">
<SimpleNavbar /> <SimpleNavbar />

View file

@ -51,17 +51,36 @@ export const Register: React.FC<RegisterProps> = ({ onNavigate }) => {
loadCompanies(); 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(() => { useEffect(() => {
const urlParams = new URLSearchParams(window.location.search); const urlParams = new URLSearchParams(window.location.search);
const empresaId = urlParams.get('empresa_id'); const empresaIdFromUrl = urlParams.get('empresa_id');
const empresaNome = urlParams.get('empresa_nome'); const empresaNomeFromUrl = urlParams.get('empresa_nome');
if (empresaId) { // Tenta pegar da URL primeiro, se não tiver, tenta da sessão persistida
setFormData(prev => ({ ...prev, empresaId })); let targetEmpresaId = empresaIdFromUrl;
// Limpa os parâmetros da URL após usar
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); window.history.replaceState({}, document.title, window.location.pathname);
} }
}
}, [companies]); }, [companies]);
const handleChange = (field: string, value: string | boolean) => { const handleChange = (field: string, value: string | boolean) => {