Артем Леванов
first commit
41a71fd
raw
history blame contribute delete
630 Bytes
import { Navigate, Outlet } from 'react-router-dom';
import { useUserStore } from '@/entities/User/model/store/useUserStore';
import { USER_AUTH_DATA } from '@/shared/const/localStorage';
interface ProtectedRouteProps {
redirectPath?: string;
}
export const ProtectedRoute = (props: ProtectedRouteProps) => {
const { redirectPath } = props;
const setAuthUser = useUserStore((state) => state.setAuthUser);
const user = localStorage.getItem(USER_AUTH_DATA);
if (user) {
setAuthUser(JSON.parse(user));
return <Outlet />;
}
return <Navigate to={redirectPath || '/login'} replace />;
};