From 07878207de396ed444efe3765b068f9eb472f6f2 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Fri, 23 Aug 2024 17:06:53 +0530 Subject: [PATCH] fix: validation of api token --- apps/OpenSign/src/components/BulkSendUi.js | 105 +++++++++++++-------- apps/OpenSign/src/pages/GenerateToken.js | 25 +++-- 2 files changed, 81 insertions(+), 49 deletions(-) diff --git a/apps/OpenSign/src/components/BulkSendUi.js b/apps/OpenSign/src/components/BulkSendUi.js index f04130cbf..c71ab35ed 100644 --- a/apps/OpenSign/src/components/BulkSendUi.js +++ b/apps/OpenSign/src/components/BulkSendUi.js @@ -6,8 +6,11 @@ import { useTranslation } from "react-i18next"; import Parse from "parse"; import ModalUi from "../primitives/ModalUi"; import { isEnableSubscription } from "../constant/const"; +import { fetchSubscription } from "../constant/Utils"; +import { useNavigate } from "react-router-dom"; const BulkSendUi = (props) => { const { t } = useTranslation(); + const navigate = useNavigate(); const [forms, setForms] = useState([]); const [formId, setFormId] = useState(2); const formRef = useRef(null); @@ -25,6 +28,7 @@ const BulkSendUi = (props) => { }); const [isQuotaReached, setIsQuotaReached] = useState(false); const [isLoader, setIsLoader] = useState(false); + const [isFreePlan, setIsFreePlan] = useState(false); const allowedSigners = 50; useEffect(() => { signatureExist(); @@ -36,6 +40,10 @@ const BulkSendUi = (props) => { if (isEnableSubscription) { setIsLoader(true); try { + const subscription = await fetchSubscription(); + if (subscription?.plan === "freeplan") { + setIsFreePlan(true); + } const allowedquicksend = await Parse.Cloud.run("allowedquicksend"); if (allowedquicksend > 0) { setIsBulkAvailable(true); @@ -273,6 +281,9 @@ const BulkSendUi = (props) => { const handleCloseQuotaReached = () => { setIsQuotaReached(false); }; + const handleNavigation = () => { + navigate("/subscription"); + }; return ( <> {isLoader ? ( @@ -385,46 +396,62 @@ const BulkSendUi = (props) => { )} ) : ( -
-

- {t("additional-quicksend")} -

-
- - -
-
- -
- USD {amount.price} + <> + {isFreePlan ? ( +
+

+ Please upgrade to Professional or Team plan to use quicksend +

+
-
-
- - + ) : ( +
+

+ {t("additional-quicksend")} +

+
+ + +
+
+ +
+ USD {amount.price} +
+
+
+ +
+ )} + )} )} diff --git a/apps/OpenSign/src/pages/GenerateToken.js b/apps/OpenSign/src/pages/GenerateToken.js index 108a47deb..0cbcfa198 100644 --- a/apps/OpenSign/src/pages/GenerateToken.js +++ b/apps/OpenSign/src/pages/GenerateToken.js @@ -9,7 +9,6 @@ import Tooltip from "../primitives/Tooltip"; import Loader from "../primitives/Loader"; import SubscribeCard from "../primitives/SubscribeCard"; import Tour from "reactour"; -import { validplan } from "../json/plansArr"; import { useTranslation } from "react-i18next"; import Parse from "parse"; @@ -65,7 +64,7 @@ function GenerateToken() { }; const handleSubmit = async (e) => { e.preventDefault(); - if (!validplan[isSubscribe.plan] && isEnableSubscription) { + if (isSubscribe?.plan === "freeplan" && isEnableSubscription) { setIsTour(true); } else { setIsLoader(true); @@ -103,11 +102,15 @@ function GenerateToken() { setTimeout(() => setIsAlert({ type: "success", msg: "" }), 1500); // Reset copied state after 1.5 seconds }; const handleModal = () => { - setIsModal((obj) => ({ ...obj, generateapi: !obj.generateapi })); + if (isSubscribe?.plan === "freeplan" && isEnableSubscription) { + setIsTour(true); + } else { + setIsModal((obj) => ({ ...obj, generateapi: !obj.generateapi })); + } }; const handleBuyAPIsModal = () => { - if (!validplan[isSubscribe.plan] && isEnableSubscription) { + if (isSubscribe?.plan === "freeplan" && isEnableSubscription) { setIsTour(true); } else { setIsModal((obj) => ({ ...obj, buyapis: !obj.buyapis })); @@ -176,16 +179,18 @@ function GenerateToken() { copytoclipboard(apiToken)} > - {apiToken ? apiToken : "_____"} + {isSubscribe?.plan !== "freeplan" && apiToken + ? apiToken + : "_____"}
- {!validplan[isSubscribe.plan] && isEnableSubscription && ( + {isSubscribe?.plan === "freeplan" && isEnableSubscription && (
- +
)}