diff --git a/apps/OpenSign/package.json b/apps/OpenSign/package.json index b4a0bda2ec..0c3d512c41 100644 --- a/apps/OpenSign/package.json +++ b/apps/OpenSign/package.json @@ -1,58 +1,57 @@ { "name": "open_sign", - "version": "2.32.0", + "version": "2.34.0", "private": true, "dependencies": { "@formkit/auto-animate": "^0.9.0", "@imgly/background-removal": "^1.7.0", - "@lottiefiles/dotlottie-react": "^0.17.8", + "@lottiefiles/dotlottie-react": "^0.17.10", "@pdf-lib/fontkit": "^1.1.1", "@radix-ui/themes": "^3.2.1", - "@reduxjs/toolkit": "^2.11.0", + "@reactour/tour": "^3.8.0", + "@reduxjs/toolkit": "^2.11.2", "axios": "^1.13.2", + "body-scroll-lock": "^4.0.0-beta.0", "date-fns-tz": "^3.2.0", "file-saver": "^2.0.5", - "i18next": "^25.7.1", + "i18next": "^25.7.3", "i18next-browser-languagedetector": "^8.2.0", "i18next-http-backend": "^3.0.2", "jszip": "^3.10.1", "jwt-decode": "^4.0.0", "moment": "^2.30.1", - "parse": "^7.1.2", + "parse": "^8.0.0", "pdf-lib": "^1.17.1", "pkijs": "^3.3.3", "print-js": "^1.6.0", "prismjs": "^1.30.0", "quill-html-edit-button": "^3.0.0", "radix-ui": "^1.4.3", - "react": "^18.3.1", + "react": "^19.2.3", "react-bootstrap": "^2.10.10", "react-confetti": "^6.4.0", - "react-datepicker": "^8.10.0", + "react-datepicker": "^9.0.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dnd-multi-backend": "^9.0.0", - "react-dom": "^18.3.1", + "react-dom": "^19.2.3", "react-gtm-module": "^2.0.11", - "react-helmet": "^6.1.0", - "react-i18next": "^16.3.5", - "react-konva": "^18.2.12", - "react-pdf": "^9.2.1", + "react-i18next": "^16.5.0", + "react-konva": "^19.2.1", + "react-pdf": "^10.2.0", "react-quill-new": "^3.6.0", "react-redux": "^9.2.0", "react-rnd": "^10.5.2", - "react-router": "^7.10.0", + "react-router": "^7.10.1", "react-scrollbars-custom": "^4.1.1", "react-select": "^5.10.2", "react-signature-canvas": "^1.1.0-alpha.2", "react-timezone-select": "^3.2.8", "react-to-print": "^3.2.0", "react-tooltip": "^5.30.0", - "reactour": "^1.19.4", "redux": "^5.0.1", "regex-parser": "^2.3.1", "serve": "^14.2.5", - "styled-components": "^5.3.11", "web-vitals": "^5.1.0", "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz" }, @@ -99,31 +98,31 @@ "@babel/preset-react": "^7.28.5", "@babel/runtime-corejs2": "^7.28.3", "@testing-library/jest-dom": "^6.8.0", - "@testing-library/react": "^16.3.0", + "@testing-library/react": "^16.3.1", "@testing-library/user-event": "^14.6.1", "@types/react": "^19.2.7", - "@vitejs/plugin-react": "^5.1.1", + "@vitejs/plugin-react": "^5.1.2", "@vitest/ui": "^4.0.15", - "autoprefixer": "^10.4.22", + "autoprefixer": "^10.4.23", "babel-loader": "^10.0.0", "commitizen": "^4.3.1", "concurrently": "^9.2.1", "css-loader": "^7.1.2", "daisyui": "^4.12.24", - "eslint": "^9.39.1", + "eslint": "^9.39.2", "eslint-plugin-prettier": "^5.5.4", "eslint-plugin-react": "^7.37.5", - "jsdom": "^27.2.0", + "jsdom": "^27.3.0", "lint-staged": "^16.2.7", "postcss": "^8.5.6", "prettier": "^3.7.4", "pretty-quick": "^4.2.2", "rollup-plugin-node-polyfills": "^0.2.1", - "tailwindcss": "^3.4.17", + "tailwindcss": "^3.4.19", "tmp": "^0.2.5", - "vite": "^7.2.6", + "vite": "^7.3.0", "vite-plugin-svgr": "^4.5.0", - "vite-tsconfig-paths": "^5.1.4", + "vite-tsconfig-paths": "^6.0.1", "vitest": "^4.0.15" }, "overrides": { diff --git a/apps/OpenSign/public/locales/de/translation.json b/apps/OpenSign/public/locales/de/translation.json index 68a05ef04b..90705438e8 100644 --- a/apps/OpenSign/public/locales/de/translation.json +++ b/apps/OpenSign/public/locales/de/translation.json @@ -270,7 +270,7 @@ "signature": "Unterschrift", "upload-image": "Bild hochladen", "clear": "Löschen", - "upload-signature/Image": "Bitte Unterschrift/Bild hochladen", + "upload-signature/Image": "Bitte Unterschrift/Bild hochladen/Stempel", "initials": "Initialen", "API": "API", "api-token": "API-Token", @@ -588,7 +588,7 @@ "provide-your-details": "Bitte geben Sie Ihre Daten an", "provide-email": "Bitte E-Mail angeben.", "additional-info": "Zusätzliche Informationen", - "signature-saved-alert": "Unterschrift erfolgreich gespeichert.", + "signature-saved-alert": "erfolgreich gespeichert.", "saved-successfully": "Erfolgreich gespeichert.", "fill-field": "Bitte dieses Feld ausfüllen", "error-template": "Fehler: Vorlage nicht gefunden!", @@ -1308,5 +1308,25 @@ "your-credits-usage": "Ihr Kreditverbrauch", "remaining": "verbleibend", "used": "verwendet", - "your-credits-usage-help": "Dies ist die Anzahl der Credits, die mit Ihrem API-Schlüssel verbraucht wurden." + "your-credits-usage-help": "Dies ist die Anzahl der Credits, die mit Ihrem API-Schlüssel verbraucht wurden.", + "api-credits-updated": "API-Credits wurden erfolgreich zugewiesen.", + "min-date": "Mindestdatum", + "max-date": "Höchstdatum", + "invalid-min-date": "Ungültiges Mindestdatum.", + "min-less-max": "Das Mindestdatum muss kleiner oder gleich dem Höchstdatum sein.", + "invalid-max-date": "Ungültiges Höchstdatum.", + "max-less-min": "Das Höchstdatum muss größer oder gleich dem Mindestdatum sein.", + "date-range": "Datumsbereich", + "date-range-help": "Legen Sie ein Mindest- und/oder Höchstdatum fest, um die Auswahl einzuschränken. Das gewählte Datum muss innerhalb dieses Bereichs liegen.", + "option-disabled-by-owner": "Der Dokumentersteller hat diese Option deaktiviert", + "pen-colors": "Stiftfarben", + "pen-colors-help": "Wählen Sie aus, welche Stiftfarben für Signatur- und Initialen-Widgets verfügbar sind. Aktivieren Sie ein Kontrollkästchen, um eine Farbe anzuzeigen, und deaktivieren Sie es, um sie auszublenden.", + "security-key": "Sicherheitsschlüssel", + "remove-limit": "Limit entfernen", + "removed-api-credits": "Das API-Credit-Limit wurde entfernt.", + "enable-authentication": "Authentifizierung aktivieren", + "working": "In Bearbeitung", + "test-security-key": "Sicherheitsschlüssel testen", + "generate": "Generieren", + "regenerate": "Neu generieren" } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/en/translation.json b/apps/OpenSign/public/locales/en/translation.json index 8881102b10..ade18ed75c 100644 --- a/apps/OpenSign/public/locales/en/translation.json +++ b/apps/OpenSign/public/locales/en/translation.json @@ -270,7 +270,7 @@ "signature": "Signature", "upload-image": " Upload image", "clear": "Clear", - "upload-signature/Image": "Please upload signature/Image", + "upload-signature/Image": "Please upload signature/Image/stamp", "initials": "Initials", "API": "API", "api-token": "API token", @@ -589,7 +589,7 @@ "provide-your-details": "Provide your details", "provide-email": "Please provide email.", "additional-info": "Additional info", - "signature-saved-alert": "Signature saved successfully.", + "signature-saved-alert": "Saved successfully.", "saved-successfully": "Saved successfully.", "fill-field": "Please fill out this field", "error-template": "Error: Template not found!", @@ -1309,5 +1309,25 @@ "your-credits-usage": "Your credits usage", "remaining": "remaining", "used": "used", - "your-credits-usage-help": "This is the number of credits consumed with your API key." + "your-credits-usage-help": "This is the number of credits consumed with your API key.", + "api-credits-updated": "API credits have been allocated successfully.", + "min-date": "Min Date", + "max-date": "Max Date", + "invalid-min-date": "Invalid min date.", + "min-less-max": "Min date must be less than or equal to max date.", + "invalid-max-date": "Invalid max date.", + "max-less-min": "Max date must be greater than or equal to min date.", + "date-range": "Date range", + "date-range-help": "Set Min and/or Max to restrict selection. Chosen date must fall within the range.", + "option-disabled-by-owner": "Document creator has disabled this option", + "pen-colors": "Pen colors", + "pen-colors-help": "Choose which pen colors are available for Signature and Initials widgets. Check to show a color, uncheck to hide it.", + "security-key": "Security key", + "remove-limit": "Remove limit", + "removed-api-credits": "The API credit limit has been removed.", + "enable-authentication": "Enable authentication", + "working": "Working", + "test-security-key": "Test security key", + "generate": "Generate", + "regenerate": "Regenerate" } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/es/translation.json b/apps/OpenSign/public/locales/es/translation.json index 89b52d4aa5..be40729f77 100644 --- a/apps/OpenSign/public/locales/es/translation.json +++ b/apps/OpenSign/public/locales/es/translation.json @@ -270,7 +270,7 @@ "signature": "Firma", "upload-image": " Subir imagen", "clear": "Limpiar", - "upload-signature/Image": "Por favor, sube la firma/imagen", + "upload-signature/Image": "Por favor, sube la firma/imagen/estampilla", "initials": "Iniciales", "API": "API", "api-token": "Token API", @@ -589,7 +589,7 @@ "provide-your-details": "Proporciona tus detalles", "provide-email": "Por favor, proporciona un correo.", "additional-info": "Información adicional", - "signature-saved-alert": "Firma guardada exitosamente.", + "signature-saved-alert": "guardada exitosamente.", "saved-successfully": "Guardado con éxito.", "fill-field": "Por favor, rellena este campo", "error-template": "Error: ¡Plantilla no encontrada!", @@ -1309,5 +1309,25 @@ "your-credits-usage": "Uso de sus créditos", "remaining": "restantes", "used": "usados", - "your-credits-usage-help": "Esta es la cantidad de créditos consumidos con su clave API." + "your-credits-usage-help": "Esta es la cantidad de créditos consumidos con su clave API.", + "api-credits-updated": "Los créditos de API se han asignado correctamente.", + "min-date": "Fecha mínima", + "max-date": "Fecha máxima", + "invalid-min-date": "Fecha mínima no válida.", + "min-less-max": "La fecha mínima debe ser menor o igual a la fecha máxima.", + "invalid-max-date": "Fecha máxima no válida.", + "max-less-min": "La fecha máxima debe ser mayor o igual a la fecha mínima.", + "date-range": "Rango de fechas", + "date-range-help": "Establezca una fecha mínima y/o máxima para restringir la selección. La fecha elegida debe estar dentro del rango.", + "option-disabled-by-owner": "El creador del documento ha deshabilitado esta opción", + "pen-colors": "Colores del bolígrafo", + "pen-colors-help": "Elija qué colores de bolígrafo están disponibles para los widgets de Firma e Iniciales. Marque una casilla para mostrar un color y desmárquela para ocultarlo.", + "security-key": "Clave de seguridad", + "remove-limit": "Eliminar límite", + "removed-api-credits": "El límite de créditos API ha sido eliminado.", + "enable-authentication": "Habilitar autenticación", + "working": "En funcionamiento", + "test-security-key": "Probar clave de seguridad", + "generate": "Generar", + "regenerate": "Regenerar" } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/fr/translation.json b/apps/OpenSign/public/locales/fr/translation.json index ca30aaf80a..d6ff1fba0b 100644 --- a/apps/OpenSign/public/locales/fr/translation.json +++ b/apps/OpenSign/public/locales/fr/translation.json @@ -270,7 +270,7 @@ "signature": "Signature", "upload-image": "Télécharger une image", "clear": "Vider", - "upload-signature/Image": "télécharger-signature/Image", + "upload-signature/Image": "télécharger-signature/Image/timbre", "initials": "Initiales", "API": "API", "api-token": "Jeton API", @@ -588,7 +588,7 @@ "provide-your-details": "Fournissez vos coordonnées", "provide-email": "Veuillez fournir un e-mail.", "additional-info": "Information additionnelle", - "signature-saved-alert": "Signature enregistrée avec succès.", + "signature-saved-alert": "enregistrée avec succès.", "saved-successfully": "Enregistré avec succès.", "fill-field": "Veuillez remplir ce champ", "error-template": "Erreur : modèle introuvable ! ", @@ -1308,5 +1308,25 @@ "your-credits-usage": "Votre utilisation des crédits", "remaining": "restants", "used": "utilisés", - "your-credits-usage-help": "Ceci est le nombre de crédits consommés avec votre clé API." + "your-credits-usage-help": "Ceci est le nombre de crédits consommés avec votre clé API.", + "api-credits-updated": "Les crédits API ont été attribués avec succès.", + "min-date": "Date minimale", + "max-date": "Date maximale", + "invalid-min-date": "Date minimale invalide.", + "min-less-max": "La date minimale doit être inférieure ou égale à la date maximale.", + "invalid-max-date": "Date maximale invalide.", + "max-less-min": "La date maximale doit être supérieure ou égale à la date minimale.", + "date-range": "Plage de dates", + "date-range-help": "Définissez une date minimale et/ou maximale pour restreindre la sélection. La date choisie doit se situer dans cette plage.", + "option-disabled-by-owner": "Le créateur du document a désactivé cette option", + "pen-colors": "Couleurs du stylo", + "pen-colors-help": "Choisissez quelles couleurs de stylo sont disponibles pour les widgets Signature et Initiales. Cochez pour afficher une couleur, décochez pour la masquer.", + "security-key": "Clé de sécurité", + "remove-limit": "Supprimer la limite", + "removed-api-credits": "La limite de crédits API a été supprimée.", + "enable-authentication": "Activer l'authentification", + "working": "En cours", + "test-security-key": "Tester la clé de sécurité", + "generate": "Générer", + "regenerate": "Régénérer" } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/hi/translation.json b/apps/OpenSign/public/locales/hi/translation.json index c4b3f82946..b82f0103ef 100644 --- a/apps/OpenSign/public/locales/hi/translation.json +++ b/apps/OpenSign/public/locales/hi/translation.json @@ -270,7 +270,7 @@ "signature": "हस्ताक्षर", "upload-image": " छवि अपलोड करें", "clear": "स्पष्ट", - "upload-signature/Image": "कृपया हस्ताक्षर/छवि अपलोड करें", + "upload-signature/Image": "कृपया हस्ताक्षर/छवि अपलोड करें/मोहर", "initials": "हस्ताक्षर", "API": "एपीआई", "api-token": "एपीआई टोकन", @@ -588,7 +588,7 @@ "provide-your-details": "अपना विवरण प्रदान करें", "provide-email": "कृपया ईमेल प्रदान करें।", "additional-info": "अतिरिक्त जानकारी", - "signature-saved-alert": "हस्ताक्षर सफलतापूर्वक सहेजा गया।", + "signature-saved-alert": "सफलतापूर्वक सहेजा गया।", "saved-successfully": "सफलतापूर्वक सहेजा गया।", "fill-field": "कृपया इस फ़ील्ड को भरें", "error-template": "त्रुटि: टेम्पलेट नहीं मिला!", @@ -1308,5 +1308,25 @@ "your-credits-usage": "आपके क्रेडिट उपयोग", "remaining": "शेष", "used": "उपयोग किए गए", - "your-credits-usage-help": "यह आपके API कुंजी द्वारा उपभोग किए गए क्रेडिट की संख्या है।" + "your-credits-usage-help": "यह आपके API कुंजी द्वारा उपभोग किए गए क्रेडिट की संख्या है।", + "api-credits-updated": "API क्रेडिट सफलतापूर्वक आवंटित कर दिए गए हैं।", + "min-date": "न्यूनतम तिथि", + "max-date": "अधिकतम तिथि", + "invalid-min-date": "अमान्य न्यूनतम तिथि।", + "min-less-max": "न्यूनतम तिथि अधिकतम तिथि से कम या उसके बराबर होनी चाहिए।", + "invalid-max-date": "अमान्य अधिकतम तिथि।", + "max-less-min": "अधिकतम तिथि न्यूनतम तिथि से अधिक या उसके बराबर होनी चाहिए।", + "date-range": "तिथि सीमा", + "date-range-help": "चयन को सीमित करने के लिए न्यूनतम और/या अधिकतम तिथि सेट करें। चयनित तिथि इस सीमा के भीतर होनी चाहिए।", + "option-disabled-by-owner": "दस्तावेज़ निर्माता ने इस विकल्प को अक्षम कर दिया है", + "pen-colors": "पेन के रंग", + "pen-colors-help": "हस्ताक्षर और प्रारंभिक विजेट्स के लिए उपलब्ध पेन रंग चुनें। किसी रंग को दिखाने के लिए चेक करें और छिपाने के लिए अनचेक करें।", + "security-key": "सुरक्षा कुंजी", + "remove-limit": "सीमा हटाएँ", + "removed-api-credits": "API क्रेडिट सीमा हटा दी गई है।", + "enable-authentication": "प्रमाणीकरण सक्षम करें", + "working": "कार्यरत", + "test-security-key": "सुरक्षा कुंजी का परीक्षण करें", + "generate": "जनरेट करें", + "regenerate": "पुनः जनरेट करें" } \ No newline at end of file diff --git a/apps/OpenSign/public/locales/it/translation.json b/apps/OpenSign/public/locales/it/translation.json index a3818dd8dc..738489a9bf 100644 --- a/apps/OpenSign/public/locales/it/translation.json +++ b/apps/OpenSign/public/locales/it/translation.json @@ -270,7 +270,7 @@ "signature": "Firma", "upload-image": "Carica immagine", "clear": "Cancella", - "upload-signature/Image": "Carica firma/immagine", + "upload-signature/Image": "Carica firma/immagine/timbro", "initials": "Iniziali", "API": "API", "api-token": "Token API", @@ -588,7 +588,7 @@ "provide-your-details": "Fornisci i tuoi dettagli", "provide-email": "Fornisci l'email.", "additional-info": "Informazioni aggiuntive", - "signature-saved-alert": "Firma salvata con successo.", + "signature-saved-alert": "salvata con successo.", "saved-successfully": "Salvato con successo.", "fill-field": "Compila questo campo", "error-template": "Errore: Modello non trovato!", @@ -1308,5 +1308,25 @@ "your-credits-usage": "Utilizzo dei tuoi crediti", "remaining": "rimanenti", "used": "usati", - "your-credits-usage-help": "Questo è il numero di crediti consumati con la tua chiave API." + "your-credits-usage-help": "Questo è il numero di crediti consumati con la tua chiave API.", + "api-credits-updated": "I crediti API sono stati assegnati con successo.", + "min-date": "Data minima", + "max-date": "Data massima", + "invalid-min-date": "Data minima non valida.", + "min-less-max": "La data minima deve essere minore o uguale alla data massima.", + "invalid-max-date": "Data massima non valida.", + "max-less-min": "La data massima deve essere maggiore o uguale alla data minima.", + "date-range": "Intervallo di date", + "date-range-help": "Imposta una data minima e/o massima per limitare la selezione. La data scelta deve rientrare nell'intervallo.", + "option-disabled-by-owner": "Il creatore del documento ha disabilitato questa opzione.", + "pen-colors": "Colori della penna", + "pen-colors-help": "Scegli quali colori della penna sono disponibili per i widget Firma e Iniziali. Seleziona una casella per mostrare un colore e deselezionala per nasconderlo.", + "security-key": "Chiave di sicurezza", + "remove-limit": "Rimuovi limite", + "removed-api-credits": "Il limite dei crediti API è stato rimosso.", + "enable-authentication": "Abilita autenticazione", + "working": "In funzione", + "test-security-key": "Testa la chiave di sicurezza", + "generate": "Genera", + "regenerate": "Rigenera" } \ No newline at end of file diff --git a/apps/OpenSign/src/components/BulkSendUi.jsx b/apps/OpenSign/src/components/BulkSendUi.jsx index 4bb4abc4f9..f3a8871c72 100644 --- a/apps/OpenSign/src/components/BulkSendUi.jsx +++ b/apps/OpenSign/src/components/BulkSendUi.jsx @@ -190,9 +190,7 @@ const BulkSendUi = (props) => { const batchQuery = async (Documents) => { const token = { "X-Parse-Session-Token": localStorage.getItem("accesstoken") }; - const functionsUrl = `${localStorage.getItem( - "baseUrl" - )}functions/batchdocuments`; + const functionsUrl = `${localStorage.getItem("baseUrl")}functions/batchdocuments`; const headers = { "Content-Type": "application/json", "X-Parse-Application-Id": localStorage.getItem("parseAppId"), @@ -201,13 +199,14 @@ const BulkSendUi = (props) => { const params = { Documents: JSON.stringify(Documents) }; try { const res = await axios.post(functionsUrl, params, { headers: headers }); - // console.log("res ", res); if (res.data && res.data.result) { props.handleClose("success", Documents?.length); } } catch (err) { - console.log("Err ", err); - props.handleClose("error", 0); + const message = + err?.response?.data?.error || err?.message || "something went wrong."; + console.error("Error sending documents:", message); + props.handleClose("error", 0, message); } finally { setIsSubmit(false); } diff --git a/apps/OpenSign/src/components/Header.jsx b/apps/OpenSign/src/components/Header.jsx index 67c23db5dc..b9532d7497 100644 --- a/apps/OpenSign/src/components/Header.jsx +++ b/apps/OpenSign/src/components/Header.jsx @@ -197,7 +197,7 @@ const Header = ({ isConsole, setIsLoggingOut }) => {