From af2666c83d62750ec973bbf6a9d7a7468629c0f9 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Thu, 5 Sep 2024 18:36:30 +0530 Subject: [PATCH] feat: show email used count --- apps/OpenSign/src/components/Header.js | 16 +++++++++++++++- apps/OpenSign/src/redux/reducers/index.js | 12 ------------ apps/OpenSignServer/Utils.js | 8 ++++---- .../cloud/parsefunction/sendMailv3.js | 4 ++-- 4 files changed, 21 insertions(+), 19 deletions(-) delete mode 100644 apps/OpenSign/src/redux/reducers/index.js diff --git a/apps/OpenSign/src/components/Header.js b/apps/OpenSign/src/components/Header.js index 9a03aeddc..9f3c9bb27 100644 --- a/apps/OpenSign/src/components/Header.js +++ b/apps/OpenSign/src/components/Header.js @@ -18,7 +18,7 @@ const Header = ({ showSidebar }) => { const { t, i18n } = useTranslation(); const navigate = useNavigate(); const { width } = useWindowSize(); - let username = localStorage.getItem("username"); + const username = localStorage.getItem("username") || ""; const image = localStorage.getItem("profileImg") || dp; const [isOpen, setIsOpen] = useState(false); const [isSubscribe, setIsSubscribe] = useState(true); @@ -26,6 +26,7 @@ const Header = ({ showSidebar }) => { const [applogo, setAppLogo] = useState( localStorage.getItem("appLogo") || " " ); + const [emailUsed, setEmailUsed] = useState(0); const toggleDropdown = () => { setIsOpen(!isOpen); @@ -47,6 +48,11 @@ const Header = ({ showSidebar }) => { } setIsTeam(subscribe); setIsSubscribe(subscribe.isValid); + const extUser = + localStorage.getItem("Extand_Class") && + JSON.parse(localStorage.getItem("Extand_Class"))?.[0]; + const MonthlyFreeEmails = extUser?.MonthlyFreeEmails || 0; + setEmailUsed(MonthlyFreeEmails); } } @@ -195,6 +201,14 @@ const Header = ({ showSidebar }) => { tabIndex={0} className="mt-3 z-[1] p-2 shadow op-menu op-menu-sm op-dropdown-content text-base-content bg-base-100 rounded-box w-52" > + {isEnableSubscription && isTeam?.plan === "freeplan" && ( +
  • + + Email used:{" "} + {emailUsed}/20 + +
  • + )}
  • openInNewTab("https://docs.opensignlabs.com")}> {t("docs")} diff --git a/apps/OpenSign/src/redux/reducers/index.js b/apps/OpenSign/src/redux/reducers/index.js deleted file mode 100644 index 277fce1af..000000000 --- a/apps/OpenSign/src/redux/reducers/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import { combineReducers } from "redux"; -import infoReducer from "./infoReducer"; -import ShowTenant from "./ShowTenant"; -import TourStepsReducer from "./TourStepsReducer"; -import showHeader from "./showHeader"; - -export default combineReducers({ - appInfo: infoReducer, - TourSteps: TourStepsReducer, - ShowTenant, - showHeader -}); diff --git a/apps/OpenSignServer/Utils.js b/apps/OpenSignServer/Utils.js index 2ff086bdd..5d38b996a 100644 --- a/apps/OpenSignServer/Utils.js +++ b/apps/OpenSignServer/Utils.js @@ -103,15 +103,15 @@ export const updateMailCount = async (extUserId, plan, monthchange) => { if (plan === 'freeplan') { if (monthchange) { contractUser.set('LastEmailCountReset', new Date()); - contractUser.set('MontlyfreeEmails', 1); + contractUser.set('MonthlyFreeEmails', 1); } else { - if (contractUser?.get('MontlyfreeEmails')) { - contractUser.increment('MontlyfreeEmails', 1); + if (contractUser?.get('MonthlyFreeEmails')) { + contractUser.increment('MonthlyFreeEmails', 1); if (contractUser?.get('LastEmailCountReset')) { contractUser.set('LastEmailCountReset', new Date()); } } else { - contractUser.set('MontlyfreeEmails', 1); + contractUser.set('MonthlyFreeEmails', 1); contractUser.set('LastEmailCountReset', new Date()); } } diff --git a/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js b/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js index 4cef012d6..b0c68b402 100644 --- a/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js +++ b/apps/OpenSignServer/cloud/parsefunction/sendMailv3.js @@ -216,7 +216,7 @@ async function sendmailv3(req) { } } else { if (Plan && Plan === 'freeplan') { - let MontlyfreeEmails = _extRes?.MontlyfreeEmails || 0; + let MonthlyFreeEmails = _extRes?.MonthlyFreeEmails || 0; if (_extRes?.LastEmailCountReset?.iso) { const lastDate = new Date(_extRes?.LastEmailCountReset?.iso); const newDate = new Date(); @@ -225,7 +225,7 @@ async function sendmailv3(req) { const nonCustomMail = await sendMailProvider(req, Plan, true); return nonCustomMail; } else { - if (MontlyfreeEmails >= 20) { + if (MonthlyFreeEmails >= 20) { return { status: 'quota-reached' }; } else { const nonCustomMail = await sendMailProvider(req, Plan);