import React from 'react'; import { Navigate, useLocation } from 'react-router-dom'; import { useAuthStore } from '../../../features/auth/store/auth.store'; interface RequireAuthProps { children: JSX.Element; } export const RequireAuth = ({ children }: RequireAuthProps) => { const isAuthenticated = useAuthStore((state) => state.isAuthenticated); const location = useLocation(); if (!isAuthenticated) { // Redirect them to the /login page, but save the current location they were // trying to go to when they were redirected. This allows us to send them // along to that page after they login, which is a nicer user experience. return ; } return children; };