fix: resolvido ao atualizar a pagina de cadastro de cliente /cadastro a lista toda de empresas aparece
This commit is contained in:
parent
0c59752758
commit
e34f915c08
2 changed files with 31 additions and 8 deletions
|
|
@ -188,7 +188,7 @@ const AccessCodeProtectedRoute: React.FC<AccessCodeProtectedRouteProps> = ({ 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 <Navigate to="/painel" replace />;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-white">
|
||||
<SimpleNavbar />
|
||||
|
|
|
|||
|
|
@ -51,17 +51,36 @@ export const Register: React.FC<RegisterProps> = ({ 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
|
||||
// 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]);
|
||||
|
||||
const handleChange = (field: string, value: string | boolean) => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue