From 0ee85f53dae2c69494e56a2a4d7b5920a4eb41b3 Mon Sep 17 00:00:00 2001
From: prafull-opensignlabs
Date: Mon, 1 Apr 2024 14:31:14 +0530
Subject: [PATCH] refactor: handle updgrade now visibililty in header
---
apps/OpenSign/src/components/Header.js | 57 ++++++++++++++-----
.../src/components/pdf/AddRoleModal.js | 2 +-
2 files changed, 45 insertions(+), 14 deletions(-)
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"
>
-
-
-
+ {isSubscribe && (
+
+
+
+ )}
@@ -131,7 +162,7 @@ const Header = ({ showSidebar }) => {
className="hover:bg-gray-100 py-1 px-2 cursor-pointer font-normal"
onClick={() => {
setIsOpen(false);
- navigation("/profile");
+ navigate("/profile");
}}
>
Profile
@@ -140,7 +171,7 @@ const Header = ({ showSidebar }) => {
className="hover:bg-gray-100 py-1 px-2 cursor-pointer font-normal"
onClick={() => {
setIsOpen(false);
- navigation("/changepassword");
+ navigate("/changepassword");
}}
>
Change Password
diff --git a/apps/OpenSign/src/components/pdf/AddRoleModal.js b/apps/OpenSign/src/components/pdf/AddRoleModal.js
index 8a2d1acb1..630a4bd61 100644
--- a/apps/OpenSign/src/components/pdf/AddRoleModal.js
+++ b/apps/OpenSign/src/components/pdf/AddRoleModal.js
@@ -30,7 +30,7 @@ const AddRoleModal = (props) => {
margin: "10px 0 10px 5px"
}}
>
- e.g: Hr, Director, Manager, New joinee, Accountant, etc...
+ e.g: Customer, Hr, Director, Manager, Student, etc...