improvement: keep user data on login fails

This commit is contained in:
canove
2021-01-12 20:30:31 -03:00
parent 96e92e6079
commit 2bec877e4f
3 changed files with 25 additions and 14 deletions

View File

@@ -7,19 +7,30 @@ import BackdropLoading from "../components/BackdropLoading";
const RouteWrapper = ({ component: Component, isPrivate = false, ...rest }) => {
const { isAuth, loading } = useContext(AuthContext);
if (loading) return <BackdropLoading />;
if (!isAuth && isPrivate) {
return (
<Redirect to={{ pathname: "/login", state: { from: rest.location } }} />
<>
{loading && <BackdropLoading />}
<Redirect to={{ pathname: "/login", state: { from: rest.location } }} />
</>
);
}
if (isAuth && !isPrivate) {
return <Redirect to={{ pathname: "/", state: { from: rest.location } }} />;
return (
<>
{loading && <BackdropLoading />}
<Redirect to={{ pathname: "/", state: { from: rest.location } }} />;
</>
);
}
return <Route {...rest} component={Component} />;
return (
<>
{loading && <BackdropLoading />}
<Route {...rest} component={Component} />
</>
);
};
export default RouteWrapper;