Merge pull request #1089 from OpenSignLabs/validation

build(deps): update dependencies
This commit is contained in:
Raktima
2024-08-23 17:36:40 +05:30
committed by GitHub
8 changed files with 680 additions and 555 deletions
+569 -478
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -4,16 +4,16 @@
"private": true,
"dependencies": {
"@formkit/auto-animate": "^0.8.2",
"@lottiefiles/dotlottie-react": "^0.8.7",
"@lottiefiles/dotlottie-react": "^0.8.9",
"@pdf-lib/fontkit": "^1.1.1",
"@radix-ui/themes": "^3.1.3",
"@react-pdf/renderer": "^3.4.4",
"@reduxjs/toolkit": "^2.2.7",
"axios": "^1.7.4",
"file-saver": "^2.0.5",
"i18next": "^23.12.2",
"i18next": "^23.14.0",
"i18next-browser-languagedetector": "^8.0.0",
"i18next-http-backend": "^2.5.2",
"i18next-http-backend": "^2.6.1",
"jwt-decode": "^4.0.0",
"moment": "^2.30.1",
"nth-check": "^2.1.1",
@@ -36,10 +36,10 @@
"react-i18next": "^15.0.1",
"react-konva": "^18.2.10",
"react-pdf": "^9.1.0",
"react-quill-new": "^3.2.2",
"react-quill-new": "^3.3.0",
"react-redux": "^9.1.2",
"react-rnd": "^10.4.11",
"react-router-dom": "^6.26.0",
"react-router-dom": "^6.26.1",
"react-scripts": "5.0.1",
"react-scrollbars-custom": "^4.1.1",
"react-select": "^5.8.0",
@@ -94,9 +94,9 @@
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/preset-env": "^7.25.4",
"@babel/preset-react": "^7.24.7",
"@babel/runtime-corejs2": "^7.25.0",
"@babel/runtime-corejs2": "^7.25.4",
"autoprefixer": "^10.4.20",
"babel-loader": "^9.1.3",
"clean-webpack-plugin": "^4.0.0",
@@ -110,7 +110,7 @@
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.34.3",
"lint-staged": "^15.2.8",
"mini-css-extract-plugin": "^2.9.0",
"mini-css-extract-plugin": "^2.9.1",
"postcss": "^8.4.41",
"prettier": "^3.3.3",
"pretty-quick": "^4.0.0",
@@ -616,5 +616,6 @@
"buycredits": "Buy credits",
"rotate-right":"Rotate right",
"rotate-left":"Rotate left",
"rotate-alert-mssg":"All widgets on this page will be lost. Are you sure you want to proceed?"
"rotate-alert-mssg":"All widgets on this page will be lost. Are you sure you want to proceed?",
"bulksendsubcriptionalert":"Please upgrade to Professional or Team plan to use quicksend."
}
@@ -616,5 +616,6 @@
"buycredits": "Acheter des crédits",
"rotate-right" :"Faire pivoter à droite",
"rotate-left" :"Faire pivoter à gauche",
"rotate-alert-mssg" :"Tous les widgets de cette page seront perdus. Êtes-vous sûr de vouloir continuer ?"
"rotate-alert-mssg" :"Tous les widgets de cette page seront perdus. Êtes-vous sûr de vouloir continuer ?",
"bulksendsubcriptionalert":"Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend."
}
+66 -39
View File
@@ -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) => {
)}
</>
) : (
<form onSubmit={handleAddOnQuickSubmit} className="p-3">
<p className="flex justify-center text-center mx-2 mb-3 text-base op-text-accent font-medium">
{t("additional-quicksend")}
</p>
<div className="mb-3 flex justify-between">
<label
htmlFor="quantity"
className="block text-xs text-gray-700 font-semibold"
>
{t("quantityofquicksend")}
<span className="text-[red] text-[13px]">*</span>
</label>
<select
value={amount.quantity}
onChange={(e) => handlePricePerQuick(e)}
name="quantity"
className="op-select op-select-bordered op-select-sm focus:outline-none hover:border-base-content w-1/4 text-xs"
required
>
{quantityList.length > 0 &&
quantityList.map((x) => (
<option key={x} value={x}>
{x}
</option>
))}
</select>
</div>
<div className="mb-3 flex justify-between">
<label className="block text-xs text-gray-700 font-semibold">
{t("Price")} (1 * {amount.priceperbulksend})
</label>
<div className="w-1/4 flex justify-center items-center text-sm">
USD {amount.price}
<>
{isFreePlan ? (
<div className="w-full h-[130px] flex flex-col justify-center items-center text-center p-4">
<p className="text-base font-medium mb-2.5">
{t("bulksendsubcriptionalert")}
</p>
<button
onClick={() => handleNavigation()}
className="op-btn op-btn-primary"
>
{t("upgrade-now")}
</button>
</div>
</div>
<hr className="text-base-content mb-3" />
<button className="op-btn op-btn-primary w-full mt-2">
{t("Proceed")}
</button>
</form>
) : (
<form onSubmit={handleAddOnQuickSubmit} className="p-3">
<p className="flex justify-center text-center mx-2 mb-3 text-base op-text-accent font-medium">
{t("additional-quicksend")}
</p>
<div className="mb-3 flex justify-between">
<label
htmlFor="quantity"
className="block text-xs text-gray-700 font-semibold"
>
{t("quantityofquicksend")}
<span className="text-[red] text-[13px]">*</span>
</label>
<select
value={amount.quantity}
onChange={(e) => handlePricePerQuick(e)}
name="quantity"
className="op-select op-select-bordered op-select-sm focus:outline-none hover:border-base-content w-1/4 text-xs"
required
>
{quantityList.length > 0 &&
quantityList.map((x) => (
<option key={x} value={x}>
{x}
</option>
))}
</select>
</div>
<div className="mb-3 flex justify-between">
<label className="block text-xs text-gray-700 font-semibold">
{t("Price")} (1 * {amount.priceperbulksend})
</label>
<div className="w-1/4 flex justify-center items-center text-sm">
USD {amount.price}
</div>
</div>
<hr className="text-base-content mb-3" />
<button className="op-btn op-btn-primary w-full mt-2">
{t("Proceed")}
</button>
</form>
)}
</>
)}
</>
)}
+15 -10
View File
@@ -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() {
<span
id="token"
className={`${
validplan[isSubscribe.plan]
? ""
: "bg-white/20 pointer-events-none select-none"
isSubscribe?.plan === "freeplan"
? "bg-white/20 pointer-events-none select-none"
: ""
} md:text-end py-2 md:py-0`}
>
<span
className="cursor-pointer"
onClick={() => copytoclipboard(apiToken)}
>
{apiToken ? apiToken : "_____"}
{isSubscribe?.plan !== "freeplan" && apiToken
? apiToken
: "_____"}
</span>
<button
className="op-btn op-btn-accent op-btn-outline op-btn-sm ml-2 cursor-pointer"
@@ -303,9 +308,9 @@ function GenerateToken() {
</form>
</ModalUi>
</div>
{!validplan[isSubscribe.plan] && isEnableSubscription && (
{isSubscribe?.plan === "freeplan" && isEnableSubscription && (
<div data-tut="apisubscribe">
<SubscribeCard plan_code={isSubscribe.plan} />
<SubscribeCard plan_code={isSubscribe?.plan} />
</div>
)}
</>
+16 -16
View File
@@ -15,7 +15,7 @@
"@signpdf/placeholder-pdf-lib": "^3.2.4",
"@signpdf/signer-p12": "^3.2.4",
"@signpdf/signpdf": "^3.2.4",
"aws-sdk": "^2.1674.0",
"aws-sdk": "^2.1681.0",
"axios": "^1.7.4",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
@@ -42,7 +42,7 @@
"@babel/eslint-parser": "^7.25.1",
"eslint": "^9.9.0",
"jasmine": "^5.2.0",
"mongodb-runner": "^5.6.4",
"mongodb-runner": "^5.6.5",
"nodemon": "^3.1.4",
"nyc": "^17.0.0",
"prettier": "^3.3.3"
@@ -2315,14 +2315,14 @@
"deprecated": "This package has been decomissioned. See https://github.com/ldapjs/node-ldapjs/blob/8ffd0bc9c149088a10ec4c1ec6a18450f76ad05d/README.md"
},
"node_modules/@mongodb-js/mongodb-downloader": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.3.tgz",
"integrity": "sha512-PIu8qF6J02lQsxfq8vdcfvueb8H5mrB43UaOl1E4AQMrOhm403imAZYKH61qe+7J7WzlVFck0zGI/7brHLHcNQ==",
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/@mongodb-js/mongodb-downloader/-/mongodb-downloader-0.3.5.tgz",
"integrity": "sha512-0tNik3E/eQxx8EkJpsa9+IIK5LtMle3N7M/1wtKQKMixJjZ1vsgAjJGguYbLfCyJqfnrw9KMyD1cwgaS37tvRA==",
"dev": true,
"dependencies": {
"debug": "^4.3.4",
"decompress": "^4.2.1",
"mongodb-download-url": "^1.3.0",
"mongodb-download-url": "^1.5.1",
"node-fetch": "^2.6.11",
"tar": "^6.1.15"
}
@@ -4120,9 +4120,9 @@
}
},
"node_modules/aws-sdk": {
"version": "2.1674.0",
"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1674.0.tgz",
"integrity": "sha512-VTijN8+pKrf4sfM2t+ISXjypJ+k3AiP6OMzyLoWJ7jfMBtBfWbQc1rN07OndNb0CZRBBukOHoBhYDPuyae+/1Q==",
"version": "2.1681.0",
"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1681.0.tgz",
"integrity": "sha512-oeCr0muJraT+g7ceTMlJcidVayPMfT69EEvDIWMbeBIHqbLOJVtpsF577VZJNEh2Zkj+8DivR69kWdu+Y9JSyQ==",
"hasInstallScript": true,
"dependencies": {
"buffer": "4.9.2",
@@ -8077,9 +8077,9 @@
}
},
"node_modules/mongodb-download-url": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/mongodb-download-url/-/mongodb-download-url-1.5.0.tgz",
"integrity": "sha512-zQP7t3aEpbWabn4ZlYapu8ODm7iRA0ON7hVFqxW2fSmY1kdCoYmKTW4LK+WfaokWOPGpLt4ZPtiWL54Bv1r87g==",
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/mongodb-download-url/-/mongodb-download-url-1.5.1.tgz",
"integrity": "sha512-AJH2lqb7mBo7tT7RyFWK3P/ZMh7RC1qWJgOaAVrBdKeuPuCWGCESrti+ZMt6FA6mJ4eU58Lm7iG2rTkl94pBdQ==",
"dev": true,
"dependencies": {
"debug": "^4.1.1",
@@ -8104,12 +8104,12 @@
}
},
"node_modules/mongodb-runner": {
"version": "5.6.4",
"resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.4.tgz",
"integrity": "sha512-pwWsei3btwq9omPLjNaERmSxwt72/OzQx1O468XBuUfhmlTJ+Ta+CIUYOX8vP3K0vSS6E/NUQBG/3ctEoLqOCA==",
"version": "5.6.5",
"resolved": "https://registry.npmjs.org/mongodb-runner/-/mongodb-runner-5.6.5.tgz",
"integrity": "sha512-joZJL5YKuwP7MNegz0CKt7rAPgAeUcWhOfJZPgifnKD+3tl4oMbRwP+HjcQjBieT1dr9lh+kI1MQuGInRtQzMw==",
"dev": true,
"dependencies": {
"@mongodb-js/mongodb-downloader": "^0.3.3",
"@mongodb-js/mongodb-downloader": "^0.3.5",
"@mongodb-js/saslprep": "^1.1.8",
"debug": "^4.3.4",
"mongodb": "^6.8.0",
+2 -2
View File
@@ -24,7 +24,7 @@
"@signpdf/placeholder-pdf-lib": "^3.2.4",
"@signpdf/signer-p12": "^3.2.4",
"@signpdf/signpdf": "^3.2.4",
"aws-sdk": "^2.1674.0",
"aws-sdk": "^2.1681.0",
"axios": "^1.7.4",
"cors": "^2.8.5",
"dotenv": "^16.4.5",
@@ -52,7 +52,7 @@
"@babel/eslint-parser": "^7.25.1",
"eslint": "^9.9.0",
"jasmine": "^5.2.0",
"mongodb-runner": "^5.6.4",
"mongodb-runner": "^5.6.5",
"nodemon": "^3.1.4",
"nyc": "^17.0.0",
"prettier": "^3.3.3"