Skip to content

Commit 7b0f0d5

Browse files
Merge pull request #672 from OpenSignLabs/signPdf
2 parents 022cb20 + 1381a65 commit 7b0f0d5

File tree

1 file changed

+37
-10
lines changed

1 file changed

+37
-10
lines changed

apps/OpenSign/src/pages/Form.js

Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useEffect, useState } from "react";
1+
import React, { useEffect, useRef, useState } from "react";
22
import { useNavigate, useParams } from "react-router-dom";
33
import { formJson } from "../json/FormJson";
44
import AddUser from "../components/AddUser";
@@ -36,6 +36,7 @@ function Form() {
3636
const Forms = (props) => {
3737
const maxFileSize = 20;
3838
const abortController = new AbortController();
39+
const inputFileRef = useRef(null);
3940
const navigate = useNavigate();
4041
const [signers, setSigners] = useState([]);
4142
const [folder, setFolder] = useState({ ObjectId: "", Name: "" });
@@ -57,7 +58,9 @@ const Forms = (props) => {
5758
const [isErr, setIsErr] = useState("");
5859
const [isPassword, setIsPassword] = useState(false);
5960
const [isDecrypting, setIsDecrypting] = useState(false);
61+
const [isCorrectPass, setIsCorrectPass] = useState(true);
6062
const handleStrInput = (e) => {
63+
setIsCorrectPass(true);
6164
setFormData({ ...formData, [e.target.name]: e.target.value });
6265
};
6366
useEffect(() => {
@@ -157,20 +160,19 @@ const Forms = (props) => {
157160

158161
// Retrieve the URL of the uploaded file
159162
if (parseFile.url()) {
160-
console.log("parseFile.url() ", parseFile.url());
161163
setFileUpload(parseFile.url());
162164
setfileload(false);
163165
const tenantId = localStorage.getItem("TenantId");
164166
SaveFileSize(size, parseFile.url(), tenantId);
165167
return parseFile.url();
166168
}
167169
} catch (err) {
168-
console.log("Error uploading file: ", err?.response);
169170
setfileload(false);
170171
setpercentage(0);
171172
if (err?.response?.status === 401) {
172173
setIsPassword(true);
173174
} else {
175+
console.log("Error uploading file: ", err?.response);
174176
setIsDecrypting(false);
175177
e.target.value = "";
176178
}
@@ -502,26 +504,37 @@ const Forms = (props) => {
502504
// Retrieve the URL of the uploaded file
503505
if (parseFile.url()) {
504506
setFormData((prev) => ({ ...prev, password: "" }));
505-
console.log("parseFile.url() ", parseFile.url());
506507
setFileUpload(parseFile.url());
507508
setfileload(false);
508509
const tenantId = localStorage.getItem("TenantId");
509510
SaveFileSize(size, parseFile.url(), tenantId);
510511
return parseFile.url();
511512
}
512513
} catch (err) {
513-
console.log("Error uploading file: ", err?.response);
514514
setfileload(false);
515515
setpercentage(0);
516-
setFormData((prev) => ({ ...prev, password: "" }));
517516
if (err?.response?.status === 401) {
518517
setIsPassword(true);
518+
setIsCorrectPass(false);
519519
} else {
520+
console.log("Error uploading file: ", err?.response);
521+
setFormData((prev) => ({ ...prev, password: "" }));
520522
setIsDecrypting(false);
521-
e.target.value = "";
523+
if (inputFileRef.current) {
524+
inputFileRef.current.value = ""; // Set file input value to empty string
525+
}
522526
}
523527
}
524528
};
529+
const handeCloseModal = () => {
530+
setIsPassword(false);
531+
setFormData((prev) => ({ ...prev, file: "", password: "" }));
532+
setIsDecrypting(false);
533+
setfileload(false);
534+
if (inputFileRef.current) {
535+
inputFileRef.current.value = ""; // Set file input value to empty string
536+
}
537+
};
525538
return (
526539
<div className="shadow-md rounded my-2 p-3 bg-[#ffffff] md:border-[1px] md:border-gray-600/50">
527540
<Title title={props?.title} />
@@ -546,10 +559,14 @@ const Forms = (props) => {
546559
</div>
547560
) : (
548561
<>
549-
<ModalUi isOpen={isPassword} title={"Enter Pdf Password"}>
562+
<ModalUi
563+
isOpen={isPassword}
564+
handleClose={() => handeCloseModal()}
565+
title={"Enter Pdf Password"}
566+
>
550567
<form onSubmit={handlePasswordSubmit}>
551-
<div className="px-6 py-3">
552-
{/* <label className="mb-2">Enter OTP</label> */}
568+
<div className="px-6 pt-3 pb-2">
569+
<label className="mb-2 text-xs">Password</label>
553570
<input
554571
type="text"
555572
name="password"
@@ -559,6 +576,15 @@ const Forms = (props) => {
559576
placeholder="Enter pdf password"
560577
required
561578
/>
579+
{!isCorrectPass ? (
580+
<p className="ml-2 text-[11px] text-red-600">
581+
Please provide correct password
582+
</p>
583+
) : (
584+
<p className="ml-2 text-[11px] text-transparent text-red-600">
585+
.
586+
</p>
587+
)}
562588
</div>
563589
<hr />
564590
<div className="px-6 my-3">
@@ -621,6 +647,7 @@ const Forms = (props) => {
621647
type="file"
622648
className="bg-white px-2 py-1.5 w-full border-[1px] border-gray-300 rounded focus:outline-none text-xs"
623649
onChange={(e) => handleFileInput(e)}
650+
ref={inputFileRef}
624651
accept={
625652
isEnableSubscription
626653
? "application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document,image/png,image/jpeg"

0 commit comments

Comments
 (0)