| 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 />; |
| }; |
|
|