Skip to content

Commit

Permalink
feat: Decode redirect URL in login page (#1138)
Browse files Browse the repository at this point in the history
  • Loading branch information
PintoGideon authored Mar 29, 2024
1 parent 575ca5c commit 444cda4
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
5 changes: 4 additions & 1 deletion src/components/Feeds/FeedView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,10 @@ export default function FeedView() {

React.useEffect(() => {
if (!type || (type === "private" && !isLoggedIn)) {
navigate(`/login?redirectTo=${location.pathname}${location.search}`);
const redirectTo = encodeURIComponent(
`${location.pathname}${location.search}`,
);
navigate(`/login?redirectTo=${redirectTo}`);
}
}, [type, navigate, isLoggedIn]);

Expand Down
4 changes: 2 additions & 2 deletions src/components/Login/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -77,11 +77,11 @@ export const SimpleLoginPage: React.FunctionComponent = () => {
};

if (redirectTo) {
navigate(redirectTo);
const decodedRedirectTo = decodeURIComponent(redirectTo);
navigate(decodedRedirectTo);
} else {
navigate("/");
}
//redirect(redirectTo);
}
} catch (error: unknown) {
setShowHelperText(true);
Expand Down
5 changes: 4 additions & 1 deletion src/components/PrivateRoute/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@ import { useTypedSelector } from "../../store/hooks";
const PrivateRoute = ({ children }: { children: JSX.Element }) => {
const isLoggedIn = useTypedSelector(({ user }) => user.isLoggedIn);
const location = useLocation();
const redirectTo = encodeURIComponent(
`${location.pathname}${location.search}`,
);

return isLoggedIn ? (
children
) : (
<Navigate to={`/login?redirectTo=${location.pathname}${location.search}`} />
<Navigate to={`/login?redirectTo=${redirectTo}`} />
);
};

Expand Down

0 comments on commit 444cda4

Please sign in to comment.