Quiz_dashboard/src/lib/ProtectedRouteProvider.tsx
karimaldeen 7aa8d50cfd fix
2024-09-07 12:16:10 +03:00

26 lines
617 B
TypeScript

import { useNavigate } from "react-router-dom";
import useAuthState from "../zustand/AuthState";
import { useEffect } from "react";
interface ProtectedRouteProviderProps extends React.HTMLProps<HTMLDivElement> {
children: React.ReactNode;
}
function ProtectedRouteProvider({
children,
...props
}: ProtectedRouteProviderProps) {
const navigate = useNavigate();
const { isAuthenticated } = useAuthState();
useEffect(() => {
if (!isAuthenticated) {
navigate("/auth");
}
}, [isAuthenticated, navigate]);
return <div {...props}>{children}</div>;
}
export default ProtectedRouteProvider;