1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/frontend/src/component/common/ProtectedRoute/ProtectedRoute.tsx

19 lines
523 B
TypeScript
Raw Normal View History

import { IRoute } from 'interfaces/route';
import { useAuthUser } from 'hooks/api/getters/useAuth/useAuthUser';
import { LoginRedirect } from 'component/common/LoginRedirect/LoginRedirect';
interface IProtectedRouteProps {
route: IRoute;
}
export const ProtectedRoute = ({ route }: IProtectedRouteProps) => {
const { user } = useAuthUser();
const isLoggedIn = Boolean(user?.id);
if (!isLoggedIn && route.type === 'protected') {
return <LoginRedirect />;
}
return <route.component />;
};