From 25c50d53873b8faf117f2dc3e1a958ed355ae0bf Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Mon, 27 Nov 2023 12:48:20 +0530 Subject: [PATCH 01/15] change subscipiton urls --- apps/OpenSign/src/json/plansArr.json | 2 +- apps/OpenSign/src/routes/PlanSubscriptions.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/OpenSign/src/json/plansArr.json b/apps/OpenSign/src/json/plansArr.json index 4a5d51837..d4ae65baa 100644 --- a/apps/OpenSign/src/json/plansArr.json +++ b/apps/OpenSign/src/json/plansArr.json @@ -52,7 +52,7 @@ "subtitle": "Customization available Priority support.", "btnText": "Contact us", "url": "https://www.opensignlabs.com/contact-us", - "target": "_self", + "target": "_blank", "benefits": [ "All features", "Custom domain", diff --git a/apps/OpenSign/src/routes/PlanSubscriptions.js b/apps/OpenSign/src/routes/PlanSubscriptions.js index 6a3851f1f..00ad2fa62 100644 --- a/apps/OpenSign/src/routes/PlanSubscriptions.js +++ b/apps/OpenSign/src/routes/PlanSubscriptions.js @@ -136,8 +136,13 @@ const PlanSubscriptions = () => {

{item.subtitle}

+ From 5ce50db0016b33d6cd8f77bb7a041bb6ef868e27 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Tue, 28 Nov 2023 10:14:41 +0530 Subject: [PATCH 02/15] add dropbox in file upload field --- .../src/components/fields/DropboxChoose.js | 59 +++++++++++++++++++ .../src/components/fields/FileUpload.js | 53 ++++++++++++++++- apps/OpenSign/src/hook/useScript.js | 17 ++++++ apps/OpenSign/src/json/FormJson.js | 2 +- 4 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 apps/OpenSign/src/components/fields/DropboxChoose.js diff --git a/apps/OpenSign/src/components/fields/DropboxChoose.js b/apps/OpenSign/src/components/fields/DropboxChoose.js new file mode 100644 index 000000000..0eb00adcf --- /dev/null +++ b/apps/OpenSign/src/components/fields/DropboxChoose.js @@ -0,0 +1,59 @@ +import React, { useCallback, useMemo } from "react"; +import { useDropScript } from "../../hook/useScript"; + +const DROPBOX_APP_KEY = process.env.REACT_APP_DROPBOX_API_KEY; // App key +const DROPBOX_SDK_URL = "https://www.dropbox.com/static/api/2/dropins.js"; +const DROPBOX_SCRIPT_ID = "dropboxjs"; + +export default function DropboxChooser({ children, onSuccess, onCancel }) { + useDropScript(DROPBOX_SDK_URL, { + attrs: { + id: DROPBOX_SCRIPT_ID, + "data-app-key": DROPBOX_APP_KEY + } + }); + + const options = useMemo( + () => ({ + // Required. Called when a user selects an item in the Chooser. + success: (files) => { + // console.log("success", files); + onSuccess && onSuccess(files); + }, + // Optional. Called when the user closes the dialog without selecting a file + // and does not include any parameters. + cancel: () => { + console.log("cancel"); + onCancel && onCancel(); + }, + + // Optional. "preview" (default) is a preview link to the document for sharing, + // "direct" is an expiring link to download the contents of the file. For more + linkType: "direct", // or "preview" + multiselect: false, // 是否支持多选 + extensions: [".pdf"], + + // Optional. A value of false (default) limits selection to files, + // while true allows the user to select both folders and files. + // You cannot specify `linkType: "direct"` when using `folderselect: true`. + folderselect: false // or true + }), + [onSuccess, onCancel] + ); + + const handleChoose = useCallback(() => { + if (window.Dropbox) { + window.Dropbox.choose(options); + } + }, [options]); + + return ( +
+ {children || ( + + )} +
+ ); +} diff --git a/apps/OpenSign/src/components/fields/FileUpload.js b/apps/OpenSign/src/components/fields/FileUpload.js index 226640d44..7902d7a71 100644 --- a/apps/OpenSign/src/components/fields/FileUpload.js +++ b/apps/OpenSign/src/components/fields/FileUpload.js @@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react"; import { SaveFileSize } from "../../constant/saveFileSize"; import Parse from "parse"; import sanitizeFileName from "../../primitives/sanitizeFileName"; - +import DropboxChooser from "./DropboxChoose"; const FileUpload = (props) => { const [parseBaseUrl] = useState(localStorage.getItem("baseUrl")); const [parseAppId] = useState(localStorage.getItem("parseAppId")); @@ -106,6 +106,56 @@ const FileUpload = (props) => { console.error("Error uploading file:", error); } }; + + const dropboxSuccess = async (files) => { + // console.log("file ", files); + setfileload(true); + const file = files[0]; + const url = file.link; + const size = file.bytes; + const mb = Math.round(file.bytes / Math.pow(1024, 2)); + + if (mb > 10) { + setTimeout(() => { + alert( + `The selected file size is too large. Please select a file less than 10 MB` + ); + }, 500); + return; + } else { + const name = sanitizeFileName(file.name); + + const parseFile = new Parse.File(name, { uri: url }); + + try { + const response = await parseFile.save({ + progress: (progressValue, loaded, total, { type }) => { + if (type === "upload" && progressValue !== null) { + const percentCompleted = Math.round((loaded * 100) / total); + // console.log("percentCompleted ", percentCompleted); + setpercentage(percentCompleted); + } + } + }); + // console.log("response.url() ", response.url()); + setFileUpload(response.url()); + props.onChange(response.url()); + setfileload(false); + + if (response.url()) { + SaveFileSize(size, response.url()); + return response.url(); + } + } catch (error) { + setfileload(false); + setpercentage(0); + console.error("Error uploading file:", error); + } + } + }; + const dropboxCancel = async () => { + console.log("cancel clicked "); + }; let fileView = props.formData && props.schema.uploadtype === "s3viajw" ? null : props.formData && @@ -258,6 +308,7 @@ const FileUpload = (props) => { /> )} + ); }; diff --git a/apps/OpenSign/src/hook/useScript.js b/apps/OpenSign/src/hook/useScript.js index cb39649f7..354ad1fe1 100644 --- a/apps/OpenSign/src/hook/useScript.js +++ b/apps/OpenSign/src/hook/useScript.js @@ -15,3 +15,20 @@ export const useScript = (url, onload) => { }; }, [url, onload]); }; + +/**`useScript` hook is generated scripte for google sign in button */ +export const useDropScript = (url, onload) => { + useEffect(() => { + const script = document.createElement("script"); + //add url parameter to the script src, for load and it will remove after load in return + script.src = url; + script.async = true; + script.defer = true; + script.id = "dropboxjs"; + script.setAttribute("data-app-key", "8k0thg9r1t7asqg"); + document.head.appendChild(script); + return () => { + document.head.removeChild(script); + }; + }, [url, onload]); +}; diff --git a/apps/OpenSign/src/json/FormJson.js b/apps/OpenSign/src/json/FormJson.js index bf67053a9..7e13e480b 100644 --- a/apps/OpenSign/src/json/FormJson.js +++ b/apps/OpenSign/src/json/FormJson.js @@ -14,7 +14,7 @@ export const formJson = (id) => { type: "string", title: "Select Document", filetypes: [], - maxfilesizeKB: "5000", + maxfilesizeKB: "10000", uploadtype: "regular", helpbody: "", helplink: "" From 45b3e739d7201fc2c718321bf7d3778df1b4401a Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Tue, 28 Nov 2023 12:22:13 +0530 Subject: [PATCH 03/15] make changes UI in file upload --- .../src/components/fields/DropboxChoose.js | 4 +- .../src/components/fields/FileUpload.js | 94 +++++++++---------- 2 files changed, 45 insertions(+), 53 deletions(-) diff --git a/apps/OpenSign/src/components/fields/DropboxChoose.js b/apps/OpenSign/src/components/fields/DropboxChoose.js index 0eb00adcf..9ed1bb3f8 100644 --- a/apps/OpenSign/src/components/fields/DropboxChoose.js +++ b/apps/OpenSign/src/components/fields/DropboxChoose.js @@ -50,8 +50,8 @@ export default function DropboxChooser({ children, onSuccess, onCancel }) { return (
{children || ( - )}
diff --git a/apps/OpenSign/src/components/fields/FileUpload.js b/apps/OpenSign/src/components/fields/FileUpload.js index 7902d7a71..71e132878 100644 --- a/apps/OpenSign/src/components/fields/FileUpload.js +++ b/apps/OpenSign/src/components/fields/FileUpload.js @@ -8,8 +8,6 @@ const FileUpload = (props) => { const [parseAppId] = useState(localStorage.getItem("parseAppId")); const [_fileupload, setFileUpload] = useState(""); const [fileload, setfileload] = useState(false); - - const [localValue, setLocalValue] = useState(""); const [Message] = useState(false); const [percentage, setpercentage] = useState(0); @@ -25,7 +23,6 @@ const FileUpload = (props) => { const onChange = (e) => { try { let files = e.target.files; - setLocalValue(e.target.files); if (typeof files[0] !== "undefined") { if (props.schema.filetypes && props.schema.filetypes.length > 0) { var fileName = files[0].name; @@ -257,58 +254,53 @@ const FileUpload = (props) => { <> - {localValue ? ( - - ) : props.formData ? ( -
- file selected : {props.formData.split("/")[3]} + {props.formData ? ( +
+
+
+ file selected : {props.formData.split("/")[3]} +
+
{ + console.log("clicked"); + setFileUpload([]); + props.onChange(undefined); + }} + className="cursor-pointer px-[10px] text-base font-bold bg-white" + > + X +
+
+
) : ( - +
+ + +
)} - ); }; From 26d38f4ca2ba169e8fb0ca6665f7f258a7bc3904 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Tue, 28 Nov 2023 15:52:26 +0530 Subject: [PATCH 04/15] change color of cancel btn test in file-upload --- apps/OpenSign/src/components/fields/FileUpload.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/OpenSign/src/components/fields/FileUpload.js b/apps/OpenSign/src/components/fields/FileUpload.js index 71e132878..09a11e8d2 100644 --- a/apps/OpenSign/src/components/fields/FileUpload.js +++ b/apps/OpenSign/src/components/fields/FileUpload.js @@ -256,7 +256,7 @@ const FileUpload = (props) => { <> {props.formData ? (
-
+
file selected : {props.formData.split("/")[3]}
@@ -266,9 +266,9 @@ const FileUpload = (props) => { setFileUpload([]); props.onChange(undefined); }} - className="cursor-pointer px-[10px] text-base font-bold bg-white" + className="cursor-pointer px-[10px] text-[20px] font-bold bg-white text-red-500" > - X +
Date: Fri, 1 Dec 2023 19:14:36 +0530 Subject: [PATCH 05/15] add validation for contactbook --- apps/OpenSign/src/components/AppendFormInForm.js | 1 + apps/OpenSign/src/json/FormJson.js | 3 +-- .../OpenSignServer/cloud/parsefunction/ContactBookAftersave.js | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/OpenSign/src/components/AppendFormInForm.js b/apps/OpenSign/src/components/AppendFormInForm.js index 2d61d4597..22017e423 100644 --- a/apps/OpenSign/src/components/AppendFormInForm.js +++ b/apps/OpenSign/src/components/AppendFormInForm.js @@ -32,6 +32,7 @@ const AppendFormInForm = (props) => { try { const query = new Parse.Query("contracts_Contactbook"); query.equalTo("CreatedBy", user); + query.notEqualTo("IsDeleted", true); query.equalTo("Email", user.getEmail()); const res = await query.first(); // console.log(res); diff --git a/apps/OpenSign/src/json/FormJson.js b/apps/OpenSign/src/json/FormJson.js index bf67053a9..8867ec956 100644 --- a/apps/OpenSign/src/json/FormJson.js +++ b/apps/OpenSign/src/json/FormJson.js @@ -147,7 +147,7 @@ export const formJson = (id) => { class: "contracts_Contactbook", displayKey: "Name", valueKey: "objectId", - query: `where={"CreatedBy":${userPtr}}&keys=Name`, + query: `where={"CreatedBy":${userPtr},"IsDeleted":{"$ne":true}}&keys=Name`, isPointer: true, helpbody: "", helplink: "", @@ -582,4 +582,3 @@ export const formJson = (id) => { return formData; } }; - diff --git a/apps/OpenSignServer/cloud/parsefunction/ContactBookAftersave.js b/apps/OpenSignServer/cloud/parsefunction/ContactBookAftersave.js index d49794c0e..644a2a763 100644 --- a/apps/OpenSignServer/cloud/parsefunction/ContactBookAftersave.js +++ b/apps/OpenSignServer/cloud/parsefunction/ContactBookAftersave.js @@ -16,6 +16,7 @@ async function ContactbookAftersave(request) { acl.setWriteAccess(object.get('UserId'), true); object.setACL(acl); + object.set('IsDeleted', false) // Continue saving the object return object.save(null, { useMasterKey: true }); } From 9ae033424915cc244d7774ca6e493ada1495f993 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Mon, 4 Dec 2023 16:06:00 +0530 Subject: [PATCH 06/15] update folder component --- apps/OpenSign/src/components/TreeWidget.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/OpenSign/src/components/TreeWidget.js b/apps/OpenSign/src/components/TreeWidget.js index 16326293f..61c737bf2 100644 --- a/apps/OpenSign/src/components/TreeWidget.js +++ b/apps/OpenSign/src/components/TreeWidget.js @@ -472,8 +472,6 @@ const TreeWidget = (props) => { props.schema.data.FolderTypeField, props.schema.data.FolderTypeValue ); - const currentUser = Parse.User.current(); - folder.set("CreatedBy", Parse.User.createWithoutData(currentUser.id)); if (tabList.length > 0) { let len = tabList.length - 1; folder.set(props.schema.data.ParentFolderField, { @@ -700,7 +698,7 @@ const TreeWidget = (props) => { ))}
- {editable && ( + {/* {editable && ( { selectFolderHandle(); }} /> - )} + )} */} {isAddField && !loader && !editable && ( {
- {fldr[props.schema.data.FolderTypeField] === + {/* {fldr[props.schema.data.FolderTypeField] === props.schema.data.FolderTypeValue && ( { aria-hidden="true" > - )} + )} */} ) )} From 57843780732422c8c0acb00e6e5ef4812cf11cdb Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs <93375423+prafull-opensignlabs@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:17:28 +0530 Subject: [PATCH 07/15] Update TreeWidget.js --- apps/OpenSign/src/components/TreeWidget.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/OpenSign/src/components/TreeWidget.js b/apps/OpenSign/src/components/TreeWidget.js index 61c737bf2..ecbce7af4 100644 --- a/apps/OpenSign/src/components/TreeWidget.js +++ b/apps/OpenSign/src/components/TreeWidget.js @@ -472,6 +472,8 @@ const TreeWidget = (props) => { props.schema.data.FolderTypeField, props.schema.data.FolderTypeValue ); + const currentUser = Parse.User.current(); + folder.set("CreatedBy", Parse.User.createWithoutData(currentUser.id)); if (tabList.length > 0) { let len = tabList.length - 1; folder.set(props.schema.data.ParentFolderField, { From 17422427a87766b1445b2cd8348bf28ca28d47fa Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs <93375423+prafull-opensignlabs@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:33:33 +0530 Subject: [PATCH 08/15] Update index.html --- apps/OpenSign/public/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/OpenSign/public/index.html b/apps/OpenSign/public/index.html index 83788c7ff..ac60d16fd 100644 --- a/apps/OpenSign/public/index.html +++ b/apps/OpenSign/public/index.html @@ -31,7 +31,7 @@ - Open sign + Opensign™ @@ -50,4 +50,4 @@ --> - \ No newline at end of file + From 7165ed82f5a022487fdd5ad49509ef2d66cb46c9 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs <93375423+prafull-opensignlabs@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:55:16 +0530 Subject: [PATCH 09/15] Update_appname --- apps/OpenSign/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/OpenSign/public/index.html b/apps/OpenSign/public/index.html index ac60d16fd..c12d8c701 100644 --- a/apps/OpenSign/public/index.html +++ b/apps/OpenSign/public/index.html @@ -31,7 +31,7 @@ - Opensign™ + OpenSign™ From 2544651ff1983dacaa5a24fc05982590f881cf24 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs <93375423+prafull-opensignlabs@users.noreply.github.com> Date: Mon, 4 Dec 2023 18:13:35 +0530 Subject: [PATCH 10/15] fix: continuous loader on action btn in report --- apps/OpenSign/src/primitives/GetReportDisplay.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/OpenSign/src/primitives/GetReportDisplay.js b/apps/OpenSign/src/primitives/GetReportDisplay.js index 0be8d98ca..22be8a6c0 100644 --- a/apps/OpenSign/src/primitives/GetReportDisplay.js +++ b/apps/OpenSign/src/primitives/GetReportDisplay.js @@ -224,7 +224,7 @@ const ReportTable = ({ {act?.btnIcon && ( Date: Tue, 5 Dec 2023 12:07:25 +0530 Subject: [PATCH 11/15] feat: mail button on header after sign document in signyourself flow --- .../src/Component/SignYourselfPdf.js | 1 + .../src/Component/component/emailComponent.js | 12 ++++- .../src/Component/component/header.js | 51 +++++++++++++++++-- .../SignDocuments/src/css/signature.css | 11 +++- 4 files changed, 68 insertions(+), 7 deletions(-) diff --git a/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js b/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js index e816f99d6..2d5bb3b2b 100644 --- a/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js +++ b/microfrontends/SignDocuments/src/Component/SignYourselfPdf.js @@ -989,6 +989,7 @@ function SignYourSelf() { currentSigner={true} alreadySign={pdfUrl ? true : false} isSignYourself={true} + setIsEmail={setIsEmail} /> {/* className="hidePdf" */} diff --git a/microfrontends/SignDocuments/src/Component/component/emailComponent.js b/microfrontends/SignDocuments/src/Component/component/emailComponent.js index cb67fd0b3..9ae70a8da 100644 --- a/microfrontends/SignDocuments/src/Component/component/emailComponent.js +++ b/microfrontends/SignDocuments/src/Component/component/emailComponent.js @@ -68,10 +68,13 @@ function EmailComponent({ if (sendMail.data.result.status === "success") { setIsEmail(false); + setEmailValue(""); + setEmailCount(""); setSuccessEmail(true); setTimeout(() => { setSuccessEmail(false); - }, 3000); + }, 1000); + setIsLoading(false); } else if (sendMail.data.result.status === "error") { setIsLoading(false); @@ -81,6 +84,7 @@ function EmailComponent({ alert("Something went wrong!"); } }; + //function for remove email const removeChip = (index) => { const updateEmailCount = emailCount.filter((data, key) => key !== index); @@ -363,7 +367,11 @@ function EmailComponent({ }} type="button" className="finishBtn" - onClick={() => setIsEmail(false)} + onClick={() => { + setIsEmail(false); + setEmailValue(""); + setEmailCount(""); + }} > Close diff --git a/microfrontends/SignDocuments/src/Component/component/header.js b/microfrontends/SignDocuments/src/Component/component/header.js index d7f4724ed..fe6b0cab0 100644 --- a/microfrontends/SignDocuments/src/Component/component/header.js +++ b/microfrontends/SignDocuments/src/Component/component/header.js @@ -33,7 +33,8 @@ function Header({ currentSigner, dataTut4, alreadySign, - isSignYourself + isSignYourself, + setIsEmail }) { const isMobile = window.innerWidth < 767; const navigate = useNavigate(); @@ -329,9 +330,29 @@ function Header({ ) : ( isSignYourself && ( - - - + <> + + + + setIsEmail(true)} + > +
+ + Mail +
+
+ ) )}
Download + ) : (
diff --git a/microfrontends/SignDocuments/src/css/signature.css b/microfrontends/SignDocuments/src/css/signature.css index fb97f992e..cfaf4c14c 100644 --- a/microfrontends/SignDocuments/src/css/signature.css +++ b/microfrontends/SignDocuments/src/css/signature.css @@ -8,7 +8,16 @@ .penContainer { width: 460px; } - +.mailBtn{ + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.18); + padding: 3px 15px !important; + background-color: rgb(79 190 241); + border: none !important; + color: white !important; +} +.mailBtn:hover { + box-shadow: 0 2px 4px rgba(154, 36, 36, 0.1), 0 2px 4px rgba(0, 0, 0, 0.18); +} .signatureBtn { border: 1.5px solid #47a3ad; margin-bottom: 10px; From 428bb3b7c3e9f7e054c6aaad0debf7799156b0e5 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 5 Dec 2023 13:08:42 +0530 Subject: [PATCH 12/15] fix: design of sent mail message,change variable name emailCount to emailList --- .../src/Component/component/emailComponent.js | 28 ++++++++--------- .../src/Component/component/emailToast.js | 18 +++++++++++ .../src/Component/component/renderPdf.js | 31 ++----------------- .../SignDocuments/src/css/signature.css | 8 +++++ 4 files changed, 43 insertions(+), 42 deletions(-) create mode 100644 microfrontends/SignDocuments/src/Component/component/emailToast.js diff --git a/microfrontends/SignDocuments/src/Component/component/emailComponent.js b/microfrontends/SignDocuments/src/Component/component/emailComponent.js index 9ae70a8da..99b44872d 100644 --- a/microfrontends/SignDocuments/src/Component/component/emailComponent.js +++ b/microfrontends/SignDocuments/src/Component/component/emailComponent.js @@ -20,14 +20,14 @@ function EmailComponent({ pdfName, sender }) { - const [emailCount, setEmailCount] = useState([]); + const [emailList, setEmailList] = useState([]); const [emailValue, setEmailValue] = useState(); const [isLoading, setIsLoading] = useState(false); //function for send email const sendEmail = async () => { setIsLoading(true); let sendMail; - for (let i = 0; i < emailCount.length; i++) { + for (let i = 0; i < emailList.length; i++) { try { const imgPng = "https://qikinnovation.ams3.digitaloceanspaces.com/logo.png"; @@ -44,7 +44,7 @@ function EmailComponent({ let params = { pdfName: pdfName, url: pdfUrl, - recipient: emailCount[i], + recipient: emailList[i], subject: `${sender.name} has signed the doc - ${pdfName}`, from: sender.email, html: @@ -69,7 +69,7 @@ function EmailComponent({ if (sendMail.data.result.status === "success") { setIsEmail(false); setEmailValue(""); - setEmailCount(""); + setEmailList([]); setSuccessEmail(true); setTimeout(() => { setSuccessEmail(false); @@ -87,8 +87,8 @@ function EmailComponent({ //function for remove email const removeChip = (index) => { - const updateEmailCount = emailCount.filter((data, key) => key !== index); - setEmailCount(updateEmailCount); + const updateEmailCount = emailList.filter((data, key) => key !== index); + setEmailList(updateEmailCount); }; //function for get email value const handleEmailValue = (e) => { @@ -99,10 +99,10 @@ function EmailComponent({ //function for save email in array after press enter const handleEnterPress = (e) => { if (e.key === "Enter" && emailValue) { - setEmailCount((prev) => [...prev, emailValue]); + setEmailList((prev) => [...prev, emailValue]); setEmailValue(""); } else if (e === "add" && emailValue) { - setEmailCount((prev) => [...prev, emailValue]); + setEmailList((prev) => [...prev, emailValue]); setEmailValue(""); } }; @@ -253,7 +253,7 @@ function EmailComponent({ > Recipients added here will get a copy of the signed document.

- {emailCount.length > 0 ? ( + {emailList.length > 0 ? ( <>
- {emailCount.map((data, ind) => { + {emailList.map((data, ind) => { return (
- {emailCount.length <= 9 && ( + {emailList.length <= 9 && ( { setIsEmail(false); setEmailValue(""); - setEmailCount(""); + setEmailList([]); }} > Close
) : ( -
-
-
- dp -
- {editmode && ( - { - let files = e.target.files; - fileUpload(files[0]); - }} - /> - )} - {percentage !== 0 && ( -
-
-
-
- {percentage}% +
+
+
+
+ dp +
+ {editmode && ( + { + let files = e.target.files; + fileUpload(files[0]); + }} + /> + )} + {percentage !== 0 && ( +
+
+
+
+ {percentage}% +
+ )} +
+ {localStorage.getItem("_user_role")}
- )} -
- {localStorage.getItem("_user_role")}
-
-
    -
  • - Name:{" "} - {editmode ? ( - SetName(e.target.value)} - /> - ) : ( - {localStorage.getItem("username")} - )} -
  • -
  • - Phone:{" "} - {editmode ? ( - SetPhone(e.target.value)} - value={Phone} - /> - ) : ( - {UserProfile && UserProfile.phone} - )} -
  • -
  • - Email:{" "} - {UserProfile && UserProfile.email} -
  • -
  • - Is Email verified:{" "} - - {UserProfile && UserProfile.emailVerified - ? "Verified" - : "Not verified"} - -
  • -
-
- {editmode ? ( - - ) : ( + Name:{" "} + {editmode ? ( + SetName(e.target.value)} + /> + ) : ( + {localStorage.getItem("username")} + )} + +
  • + Phone:{" "} + {editmode ? ( + SetPhone(e.target.value)} + value={Phone} + /> + ) : ( + {UserProfile && UserProfile.phone} + )} +
  • +
  • + Email:{" "} + {UserProfile && UserProfile.email} +
  • +
  • + Is Email verified:{" "} + + {UserProfile && UserProfile.emailVerified + ? "Verified" + : "Not verified"} + +
  • + +
    + {editmode ? ( + + ) : ( + + )} - )} - +
    )} From 42c6f03f283538c5b17d8f0476e6b0a75890e222 Mon Sep 17 00:00:00 2001 From: prafull-opensignlabs Date: Tue, 5 Dec 2023 13:47:46 +0530 Subject: [PATCH 14/15] remove outline of buttons in profile ui --- apps/OpenSign/src/routes/UserProfile.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/OpenSign/src/routes/UserProfile.js b/apps/OpenSign/src/routes/UserProfile.js index 0ed0e57ee..5a2120375 100644 --- a/apps/OpenSign/src/routes/UserProfile.js +++ b/apps/OpenSign/src/routes/UserProfile.js @@ -247,7 +247,7 @@ function UserProfile() { @@ -257,7 +257,7 @@ function UserProfile() { onClick={() => { setEditMode(true); }} - className="rounded shadow text-white bg-[#e7505a] px-4 py-2 mr-4" + className="rounded shadow focus:outline-none text-white bg-[#e7505a] px-4 py-2 mr-4" > Edit @@ -271,7 +271,7 @@ function UserProfile() { navigate("/changepassword"); } }} - className={`rounded shadow text-white bg-[#3598dc] ${ + className={`rounded shadow focus:outline-none text-white bg-[#3598dc] ${ editmode ? "px-4 py-2 " : "p-2" }`} > From 7495955420c2ede709683ffbbb85909ab7e79622 Mon Sep 17 00:00:00 2001 From: RaktimaNXG Date: Tue, 5 Dec 2023 14:12:12 +0530 Subject: [PATCH 15/15] fix: design of email sent toast message --- .../src/Component/component/emailComponent.js | 8 +++---- .../src/Component/component/emailToast.js | 21 +++++++++++-------- .../src/Component/component/renderPdf.js | 1 - 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/microfrontends/SignDocuments/src/Component/component/emailComponent.js b/microfrontends/SignDocuments/src/Component/component/emailComponent.js index 99b44872d..5854c8749 100644 --- a/microfrontends/SignDocuments/src/Component/component/emailComponent.js +++ b/microfrontends/SignDocuments/src/Component/component/emailComponent.js @@ -67,13 +67,13 @@ function EmailComponent({ } if (sendMail.data.result.status === "success") { - setIsEmail(false); - setEmailValue(""); - setEmailList([]); setSuccessEmail(true); setTimeout(() => { setSuccessEmail(false); - }, 1000); + setIsEmail(false); + setEmailValue(""); + setEmailList([]); + }, 1500); setIsLoading(false); } else if (sendMail.data.result.status === "error") { diff --git a/microfrontends/SignDocuments/src/Component/component/emailToast.js b/microfrontends/SignDocuments/src/Component/component/emailToast.js index 733672fba..a2779210a 100644 --- a/microfrontends/SignDocuments/src/Component/component/emailToast.js +++ b/microfrontends/SignDocuments/src/Component/component/emailToast.js @@ -3,15 +3,18 @@ import "../../css/signature.css"; function EmailToast({ isShow }) { return ( -
    -
    - - Email sent successfully! - -
    -
    + <> + {isShow && ( +
    +
    + Email sent successfully! +
    +
    + )} + ); } diff --git a/microfrontends/SignDocuments/src/Component/component/renderPdf.js b/microfrontends/SignDocuments/src/Component/component/renderPdf.js index 8b29ad0d9..c27fe6a94 100644 --- a/microfrontends/SignDocuments/src/Component/component/renderPdf.js +++ b/microfrontends/SignDocuments/src/Component/component/renderPdf.js @@ -1,6 +1,5 @@ import React from "react"; import RSC from "react-scrollbars-custom"; -import Toast from "react-bootstrap/Toast"; import { Rnd } from "react-rnd"; import { themeColor } from "../../utils/ThemeColor/backColor"; import { Document, Page, pdfjs } from "react-pdf";