diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 83eb56de0..026675fbf 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -1,4 +1,6 @@ { + "headernews": "New feature: Public profiles are now live! Easily create and share public templates", + "headernewsbtn": "Setup Now", "create-account": "Create Account", "login": "Login", "language": "Language", @@ -39,7 +41,7 @@ "upgrade-now": "Upgrade now", "upgrade-to": "Upgrade to", "plan": "Plan", - "subscribe-card-plan": "Sign 100 docs using API. Only $0.15/doc after that.", + "subscribe-card-plan": "Unlock premium features starting at just {{premiumPrice}}/month. Enjoy enhanced performance and only {{addonPrice}} per additional credit after your included premium credits.", "user-name-limit-char": "To have a username less than 8 character please subscribe", "tour-content": "Don't show this again", "pro": "PRO", @@ -554,7 +556,7 @@ "home-layout-1": "You have logged in successfully! Let's take a look.", "home-layout-2": "To upload documents for self-signing or to request others’ signatures, simply select the respective buttons.", "home-layout-3": "You are ready to start using OpenSign! If you need support feel free to contact us.", - "generate-token": "Upgrade now to generate API token", + "generate-token": "Upgrade now to generate production API token.", "opensign-drive-1": "Click on the breadcrumb links to easily navigate through the folder hierarchy and view the documents within each folder.", "opensign-drive-2": "Click the add button to create a new folder or document.", "opensign-drive-3": "Sort your documents by Date or Name using this menu.", @@ -617,13 +619,19 @@ "remainingapis": "Remaining APIs Credits:", "additional-quicksend": "Please purchase add-on quick send", "quantityofquicksend": "Quantity of Quick send", + "quantityofcredits": "Quantity of premium credits", + "remainingcredits": "Premium credits available:", + "remainingcreditshelp":"Use premium credits for API document signing, bulk sending, or embedding OpenSign integration on your website. You have {{allowedcredits}} included credits and {{addoncredits}} additional purchased credits remaining.", + "additional-credits": "Please purchase premium credits", "quotaerrquicksend": "Quota Reached, You don't have enough credits.", - "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?", - "templateid": "Template-Id", - "bulksendsubcriptionalert": "Please upgrade to Professional or Team plan to use quicksend.", + "buycredits": "Buy Premium 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?", + "templateid":"Template-Id", + "bulksendsubcriptionalert":"Please upgrade to Professional or Team plan to use bulk send.", "generate-test-token":"Generate Test Token", - "regenerate-test-token":"Regenerate Test Token" + "regenerate-test-token":"Regenerate Test Token", + "help-test-token":"This token can be used to test the APIs at the https://sandbox.opensignlabs.com/api/v1 endpoint, allowing you to conduct unlimited document signatures. Please note that the sandbox API will sign your documents with self-signed certificates, which may not be recognized as valid by Adobe. Once you’ve completed your testing, you can upgrade to one of our paid plans to generate a production token.", + "help-api-token":"This token can be used to access the production APIs at the {{origin}}/api/v1 endpoint. It can only be generated on one of our paid plans." } diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index 376a16011..1d2af552f 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -1,4 +1,6 @@ { + "headernews": "Nouvelle fonctionnalité : les profils publics sont désormais en ligne ! Créez et partagez facilement des modèles publics", + "headernewsbtn": "Configurer maintenant", "create-account": "Créer un compte", "login": "Se Connecter", "language": "Langue", @@ -40,7 +42,7 @@ "upgrade-to": "Mettre à niveau vers", "pro": "PRO", "plan": "Offre", - "subscribe-card-plan": "Signez 100 documents à l'aide de l'API. Seulement 0,15 $/doc par la suite.", + "subscribe-card-plan": "Débloquez des fonctionnalités premium à partir de seulement {{premiumPrice}}/mois. Bénéficiez de performances améliorées et de seulement {{addonPrice}} par crédit supplémentaire après vos crédits premium inclus.", "user-name-limit-char": "Pour avoir un nom d'utilisateur de moins de 8 caractères s'il vous plaît s'abonner", "tour-content": "Ne plus afficher", "team": "Équipe", @@ -553,7 +555,7 @@ "home-layout-1": "Vous vous êtes connecté avec succès ! Jetons un coup d'oeil.", "home-layout-2": "Pour télécharger des documents à auto-signature ou pour demander la signature d'autres personnes, sélectionnez simplement les boutons correspondants.", "home-layout-3": "Vous êtes prêt à commencer à utiliser OpenSign ! Si vous avez besoin d'aide, n'hésitez pas à nous contacter.", - "generate-token": "Mettez à niveau maintenant pour générer un jeton API", + "generate-token": "Effectuez la mise à niveau maintenant pour générer un jeton API de production.", "opensign-drive-1": "Cliquez sur les liens du fil d'Ariane pour naviguer facilement dans la hiérarchie des dossiers et afficher les documents dans chaque dossier.", "opensign-drive-2": "Cliquez sur le bouton Ajouter pour créer un nouveau dossier ou document.", "opensign-drive-3": "Triez vos documents par date ou par nom à l'aide de ce menu.", @@ -615,14 +617,20 @@ "additionalapis": "Veuillez acheter des API complémentaires", "remainingapis": "API restantes Crédits:", "additional-quicksend": "Veuillez acheter le module complémentaire quick send", + "quantityofcredits":"Quantité de crédits de prime", + "remainingcredits":"Crédits premium disponibles :", + "additional-credits":"Veuillez acheter des crédits premium", + "remainingcreditshelp":"Utilisez des crédits premium pour la signature de documents API, l'envoi groupé ou l'intégration d'OpenSign sur votre site Web. Il vous reste {{allowedcredits}} crédits inclus et {{addoncredits}} crédits achetés supplémentaires.", "quantityofquicksend": "Quantité de Quick send", "quotaerrquicksend": "Quota atteint, vous n'avez pas assez de crédits.", - "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 ?", - "templateid": "ID de modèle", - "bulksendsubcriptionalert": "Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend.", - "generate-test-token": "Générer jeton de test", - "regenerate-test-token":"Régénérer le jeton de test" + "buycredits": "Acheter des crédits premium", + "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 ?", + "templateid":"ID de modèle", + "bulksendsubcriptionalert":"Veuillez passer au forfait Professionnel ou Équipe pour utiliser Quicksend.", + "generate-test-token": "Générer jeton de test", + "regenerate-test-token":"Régénérer le jeton de test", + "help-test-token":"Ce jeton peut être utilisé pour tester les API au niveau du point de terminaison https://sandbox.opensignlabs.com/api/v1, vous permettant ainsi d'effectuer un nombre illimité de signatures de documents. Veuillez noter que l'API sandbox signera vos documents avec des certificats auto-signés, qui peuvent ne pas être reconnus comme valides par Adobe. Une fois vos tests terminés, vous pouvez passer à l’un de nos forfaits payants pour générer un jeton de production.", + "help-api-token":"Ce jeton peut être utilisé pour accéder aux API de production au point de terminaison {{origin}}/api/v1. Il ne peut être généré que sur l'un de nos forfaits payants." } diff --git a/apps/OpenSign/src/components/BulkSendUi.js b/apps/OpenSign/src/components/BulkSendUi.js index 5a6e218fb..b46584235 100644 --- a/apps/OpenSign/src/components/BulkSendUi.js +++ b/apps/OpenSign/src/components/BulkSendUi.js @@ -24,7 +24,7 @@ const BulkSendUi = (props) => { price: (75.0).toFixed(2), quantity: 500, priceperbulksend: 0.15, - totalQuickSend: 0 + totalcredits: 0 }); const [isQuotaReached, setIsQuotaReached] = useState(false); const [isLoader, setIsLoader] = useState(false); @@ -44,11 +44,16 @@ const BulkSendUi = (props) => { if (subscription?.plan === "freeplan") { setIsFreePlan(true); } - const allowedquicksend = await Parse.Cloud.run("allowedquicksend"); - if (allowedquicksend > 0) { - setIsBulkAvailable(true); + const resCredits = await Parse.Cloud.run("allowedcredits"); + if (resCredits) { + const allowedcredits = resCredits?.allowedcredits || 0; + const addoncredits = resCredits?.addoncredits || 0; + const totalcredits = allowedcredits + addoncredits; + if (totalcredits > 0) { + setIsBulkAvailable(true); + } + setAmount((obj) => ({ ...obj, totalcredits: totalcredits })); } - setAmount((obj) => ({ ...obj, totalQuickSend: allowedquicksend })); const getPlaceholder = props.item?.Placeholders; const checkIsSignatureExistt = getPlaceholder?.every((placeholderObj) => placeholderObj?.placeHolder?.some((holder) => @@ -121,7 +126,7 @@ const BulkSendUi = (props) => { const handleAddForm = (e) => { e.preventDefault(); // Check if the quick send limit has been reached - if (isEnableSubscription && forms.length >= amount.totalQuickSend) { + if (isEnableSubscription && forms.length >= amount.totalcredits) { setIsQuotaReached(true); } else { if (forms?.length < allowedForm) { @@ -244,8 +249,8 @@ const BulkSendUi = (props) => { e.stopPropagation(); setIsSubmit(true); try { - const resAddon = await Parse.Cloud.run("buyquicksend", { - quicksend: amount.quantity + const resAddon = await Parse.Cloud.run("buycredits", { + credits: amount.quantity }); if (resAddon) { const _resAddon = JSON.parse(JSON.stringify(resAddon)); @@ -257,7 +262,7 @@ const BulkSendUi = (props) => { quantity: 500, priceperbulksend: 0.15, price: (75.0).toFixed(2), - totalQuickSend: _resAddon.addon + totalcredits: _resAddon.addon })); } } @@ -345,13 +350,15 @@ const BulkSendUi = (props) => { ))}