Files
Checkmate/Client/src/HOC/withAdminCheck.jsx
T

32 lines
902 B
React
Raw Normal View History

2024-07-19 10:24:01 -07:00
import React, { useEffect } from "react";
import { useNavigate } from "react-router-dom";
2024-08-19 19:02:30 -07:00
import { logger } from "../Utils/Logger";
2024-08-18 17:42:49 -07:00
import { networkService } from "../main";
2024-07-19 10:24:01 -07:00
const withAdminCheck = (WrappedComponent) => {
const WithAdminCheck = (props) => {
const navigate = useNavigate();
useEffect(() => {
2024-08-18 17:42:49 -07:00
networkService
2024-08-26 10:00:34 -07:00
.doesSuperAdminExist()
2024-07-19 10:24:01 -07:00
.then((response) => {
if (response.data.data === true) {
navigate("/login");
}
})
.catch((error) => {
logger.error(error);
2024-07-19 10:24:01 -07:00
});
}, [navigate]);
2024-08-26 10:00:34 -07:00
return <WrappedComponent {...props} isSuperAdmin={true} />;
2024-07-19 10:24:01 -07:00
};
const wrappedComponentName =
WrappedComponent.displayName || WrappedComponent.name || "Component";
WithAdminCheck.displayName = `WithAdminCheck(${wrappedComponentName})`;
return WithAdminCheck;
};
export default withAdminCheck;