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}
|
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 />
|
||||||
|
|
|
||||||
|
|
@ -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) => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue