diff --git a/apps/OpenSign/src/components/Header.js b/apps/OpenSign/src/components/Header.js index 5dcd590ac..268cf883b 100644 --- a/apps/OpenSign/src/components/Header.js +++ b/apps/OpenSign/src/components/Header.js @@ -5,19 +5,48 @@ import { useNavigate } from "react-router-dom"; import Parse from "parse"; import { useWindowSize } from "../hook/useWindowSize"; import { openInNewTab } from "../constant/Utils"; +import { isEnableSubscription } from "../constant/const"; + const Header = ({ showSidebar }) => { - const navigation = useNavigate(); + const navigate = useNavigate(); const { width } = useWindowSize(); let applogo = localStorage.getItem("appLogo") || ""; let username = localStorage.getItem("username"); const image = localStorage.getItem("profileImg") || dp; const [isOpen, setIsOpen] = useState(false); + const [isSubscribe, setIsSubscribe] = useState(false); const toggleDropdown = () => { setIsOpen(!isOpen); }; - + useEffect(() => { + checkIsSubscribed(); + }, []); + async function checkIsSubscribed() { + const currentUser = Parse.User.current(); + const user = await Parse.Cloud.run("getUserDetails", { + email: currentUser.get("email") + }); + if (isEnableSubscription) { + const freeplan = user?.get("Plan") && user?.get("Plan").plan_code; + const billingDate = + user?.get("Next_billing_date") && user?.get("Next_billing_date"); + if (freeplan === "freeplan") { + setIsSubscribe(true); + } else if (billingDate) { + if (billingDate > new Date()) { + setIsSubscribe(true); + } else { + navigate(`/subscription`); + } + } else { + navigate(`/subscription`); + } + } else { + setIsSubscribe(true); + } + } const closeDropdown = () => { setIsOpen(false); Parse.User.logOut(); @@ -43,7 +72,7 @@ const Header = ({ showSidebar }) => { localStorage.setItem("baseUrl", baseUrl); localStorage.setItem("parseAppId", appid); - navigation("/"); + navigate("/"); }; //handle to close profile drop down menu onclick screen @@ -83,14 +112,16 @@ const Header = ({ showSidebar }) => { id="profile-menu" className="flex justify-between items-center gap-x-3" > -