RequireAuth.tsx 372 Bytes
import { Navigate, useLocation } from 'react-router-dom'
import { useAppSelector } from '@/store'

export default function RequireAuth({ children }: { children: React.ReactNode }) {
  const token = useAppSelector(s => s.auth.token)
  const loc = useLocation()
  if (!token) return <Navigate to="/login" replace state={{ from: loc.pathname }} />
  return <>{children}</>
}