import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import { logger } from "../../Utils/Logger"; import { networkService } from "../../main"; const withAdminCheck = (WrappedComponent) => { const WithAdminCheck = (props) => { const navigate = useNavigate(); const [isChecking, setIsChecking] = useState(true); const [superAdminExists, setSuperAdminExists] = useState(false); useEffect(() => { networkService .doesSuperAdminExist() .then((response) => { if (response?.data?.data === true) { navigate("/login"); } else { setSuperAdminExists(false); } }) .catch((error) => { logger.error(error); }) .finally(() => { setIsChecking(false); }); }, [navigate]); if (isChecking) { return null; } return ( ); }; const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || "Component"; WithAdminCheck.displayName = `WithAdminCheck(${wrappedComponentName})`; return WithAdminCheck; }; export default withAdminCheck;