mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-22 19:15:08 +03:00
Simplify code
This commit is contained in:
@@ -1,21 +1,13 @@
|
|||||||
import { useEffect } from "react";
|
import type { ReactNode } from "react";
|
||||||
import { useAppState } from "./chat/state";
|
import { useAppState } from "./chat/state";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { Navigate } from "react-router-dom";
|
||||||
|
|
||||||
interface ProtectedRouteProps {
|
interface ProtectedRouteProps {
|
||||||
children: React.ReactNode;
|
children: ReactNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function ProtectedRoute({ children }: ProtectedRouteProps) {
|
export default function ProtectedRoute({ children }: ProtectedRouteProps) {
|
||||||
const { user } = useAppState();
|
const { user } = useAppState();
|
||||||
const navigate = useNavigate();
|
|
||||||
|
|
||||||
useEffect(() => {
|
return !user.authToken ? <Navigate to="/login" /> : children;
|
||||||
if (!user.authToken) {
|
|
||||||
navigate("/login");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}, [user.authToken, user.currentUser, navigate]);
|
|
||||||
|
|
||||||
return <>{children}</>;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user