Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import Cookies from "js-cookie";
import { Navigate, Outlet, useLocation, useMatch } from "react-router-dom";
import { AUTH_PATHS } from "./paths";
import { safeParse } from "@utils/index";
const PublicRoutes = () => {
const rawUser = Cookies.get("user");
const user = safeParse<{ role: string }>(rawUser);
const match = useMatch(AUTH_PATHS.VALIDATE_ACCOUNT);
const isValidationPath = !!match;
const { search } = useLocation();
return user && !isValidationPath ? (
<Navigate to={`${user.role}${search}`} replace />
) : (
<Outlet />
);
};
export default PublicRoutes;
|