This commit is contained in:
Kakabay 2024-03-24 19:33:24 +05:00
parent bd816f2529
commit 647c028553
5 changed files with 68 additions and 50 deletions

View File

@ -9,22 +9,22 @@ import next from "../../icons/next.svg";
import next_reverse from "../../icons/next-reverse.svg";
// import arrow from "../../icons/arrow.svg";
const schema = z.object({
name: z.string().min(1),
surname: z.string().min(1),
passportSerial: z.string().min(1),
passportNumber: z
.number()
.int()
.gte(100000, { message: "Must be equal to 6 digits" })
.lte(999999, { message: "Must be equal to 6 digits" }),
bankAccount: z
.number()
.int()
.gte(100000, { message: "Must be equal to 6 digits" })
.lte(999999, { message: "Must be equal to 6 digits" }),
// clientType: z.string(),
});
// const schema = z.object({
// name: z.string().min(1),
// surname: z.string().min(1),
// passportSerial: z.string().min(1),
// passportNumber: z
// .number()
// .int()
// .gte(100000, { message: "Must be equal to 6 digits" })
// .lte(999999, { message: "Must be equal to 6 digits" }),
// bankAccount: z
// .number()
// .int()
// .gte(100000, { message: "Must be equal to 6 digits" })
// .lte(999999, { message: "Must be equal to 6 digits" }),
// // clientType: z.string(),
// });
const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
const { locale } = useContext(LanguageContext);
@ -34,7 +34,7 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
handleSubmit,
formState: { errors },
} = useForm({
resolver: zodResolver(schema),
// resolver: zodResolver(schema),
defaultValues: {
name: borrowerData.name ? borrowerData.name : "Loading",
surname: borrowerData.surname ? borrowerData.surname : "loading",
@ -48,8 +48,6 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
console.log(data);
};
console.log(borrowerData);
return borrowerData ? (
<section className="imm-cs-1">
<form onSubmit={handleSubmit(onSubmit)}>
@ -74,7 +72,7 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
: "At"}
</label>
<input {...register("name")} type="text" id="name" disabled />
{errors.name && <span>{errors.name.message}</span>}
{/* {errors.name && <span>{errors.name.message}</span>} */}
</div>
<div className="input-block">
<label htmlFor="surname">
@ -87,7 +85,7 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
: "At"}
</label>
<input {...register("surname")} type="text" id="surname" disabled />
{errors.surname && <span>{errors.surname.message}</span>}
{/* {errors.surname && <span>{errors.surname.message}</span>} */}
</div>
<div className="input-block">
<label htmlFor="passport-serial">
@ -173,7 +171,7 @@ const BorrowerInfo = ({ setStage, isGuranter, borrowerData }) => {
<button
type="button"
className="sign-btn cu-btn"
onClick={() => (isGuranter ? setStage(3) : setStage(5))}
onClick={() => setStage(4)}
>
<div>
<h3>

View File

@ -21,12 +21,14 @@ import Select from "../global/Select";
// });
const IDSerias = ["I-AS", "I-AH", "I-BN", "I-LB", "I-MR", "I-DZ"];
// 478992
// 23908934160170143144000
const BorrowerStage = ({
setStage,
isGuranter,
setIsGuranter,
borrowerData,
setSignRecipient,
setBorrowerData,
}) => {
const { locale } = useContext(LanguageContext);
@ -62,7 +64,7 @@ const BorrowerStage = ({
// resolver: zodResolver(schema),
});
const fetchData = async (idSeria, idNo, accountNo, clientType) => {
const fetchData = async (idSeria, idNo, accountNo, clientType, stage) => {
try {
setIsLoading(true);
const response = await fetch(
@ -76,7 +78,7 @@ const BorrowerStage = ({
idSeria: idSeria,
idNo: idNo,
accountNo: accountNo,
clientType: clientType ? "guaranter" : "recipient",
clientType: "recipient",
}),
}
);
@ -87,11 +89,18 @@ const BorrowerStage = ({
const responseJson = await response.json();
setErrCode(responseJson.errCode);
setSignRecipient(responseJson.signRecipient);
setErrCode(await responseJson.errCode);
setBorrowerData(responseJson);
setIsLoading(false);
// responseJson.errCode === 0 ? setStage(2) : setStage(3);
if (responseJson.errCode === 0) {
setStage(2);
console.log("availabel");
} else if (responseJson.errCode !== 0) {
setStage(3);
}
} catch (error) {
console.error(error.toString());
// Handle errors as needed
@ -101,13 +110,16 @@ const BorrowerStage = ({
const onSubmit = (data) => {
fetchData(idSerial, passportNumber, accNumber, isGuranter);
errCode === 0 ? setStage(2) : setStage(3);
};
console.log(
passportNumber.length === 6 && accNumber.length === 23 ? true : false
);
if (isLoading) {
return (
<section className="imm-cs-1">
<h1>Loading</h1>
<h1 className="cs-2-title">Loading...</h1>
</section>
);
}
@ -205,11 +217,11 @@ const BorrowerStage = ({
<input
type="radio"
id="borrower"
value={"Borrower"}
value={"recepient"}
name="client-type"
checked={isGuranter ? false : true}
onChange={checkboxHandleChange}
{...register("clientType")}
// {...register("clientType")}
className="radio-button"
/>
<label htmlFor="borrower">
@ -234,7 +246,7 @@ const BorrowerStage = ({
name="client-type"
checked={isGuranter ? true : false}
onChange={checkboxHandleChange}
{...register("clientType")}
// {...register("clientType")}
className="radio-button"
/>
<label htmlFor="isGuranter">
@ -252,7 +264,9 @@ const BorrowerStage = ({
<div className="card-button cs-1-bottom">
<button
disabled={
isLoading || (accNumber.length !== 23 && passportNumber !== 6)
passportNumber.length === 6 && accNumber.length === 23
? false
: true
}
type="submit"
className="sign-btn cd-btn"

View File

@ -27,7 +27,7 @@ const IDSerias = ["I-AS", "I-AH", "I-BN", "I-LB", "I-MR", "I-DZ"];
const GuaranterStage = ({
setStage,
guaranterData,
signRecipient,
setGuaranterData,
isGuranter,
}) => {
@ -70,7 +70,8 @@ const GuaranterStage = ({
idSeria: idSeria,
idNo: idNo,
accountNo: accountNo,
clientType: clientType ? "guaranter" : "recipient",
clientType: "guaranter",
signRecipient: signRecipient,
}),
}
);
@ -86,6 +87,7 @@ const GuaranterStage = ({
setGuaranterData(responseJson);
setIsLoading(false);
responseJson.errCode === 0 ? setStage(5) : setStage(6);
} catch (error) {
console.error(error.toString());
// Handle errors as needed
@ -95,13 +97,12 @@ const GuaranterStage = ({
const onSubmit = (data) => {
fetchData(idSerial, passportNumber, accNumber, isGuranter);
errCode === 0 ? setStage(2) : setStage(6);
};
if (isLoading) {
return (
<section className="imm-cs-1">
<h1>Loading</h1>
<h1 className="cs-2-title">Loading...</h1>
</section>
);
}
@ -204,7 +205,11 @@ const GuaranterStage = ({
</button>
<button
type="submit"
disabled={isLoading || (accNumber !== 23 && passportNumber !== 6)}
disabled={
passportNumber.length === 6 && accNumber.length === 23
? false
: true
}
className="sign-btn cu-btn"
>
<div>

View File

@ -10,7 +10,7 @@ const NotAUser = ({ setStage, stage }) => {
return (
<section className="imm-cs-1">
<form>
<h2 className="cs-2-title">
<h2 className="notauser-title">
{locale === "TKM"
? "Karzyň kalkulýatory"
: locale === "РУС"

View File

@ -41,8 +41,12 @@ const ImmediateCreditModal = ({
const [error, setError] = useState();
const [borrowerData, setBorrowerData] = useState();
const [signRecipient, setSignRecipient] = useState("");
const [guaranterData, setGuaranterData] = useState();
console.log("Stage", stage);
return (
<section
className={modalOpen ? "modal credit-modal active" : "modal credit-modal"}
@ -88,7 +92,7 @@ const ImmediateCreditModal = ({
<Lines className="lines" />
</div>
<div className={stage > 2 ? "icon-block active" : "icon-block"}>
<div className={stage > 1 ? "icon-block active" : "icon-block"}>
<Img3 className="modal-icon" />
<h3 className="icon-title">
{locale === "TKM"
@ -101,7 +105,7 @@ const ImmediateCreditModal = ({
</h3>
</div>
<div className={stage > 3 ? "line-block active" : "line-block"}>
<div className={stage > 2 ? "line-block active" : "line-block"}>
<Lines className="lines" />
<Lines className="lines" />
</div>
@ -109,7 +113,7 @@ const ImmediateCreditModal = ({
{isGuranter && (
<>
<div
className={stage > 4 ? "icon-block active" : "icon-block"}
className={stage > 3 ? "icon-block active" : "icon-block"}
>
<Img4 className="modal-icon" />
<h3 className="icon-title">
@ -124,14 +128,14 @@ const ImmediateCreditModal = ({
</div>
<div
className={stage > 4 ? "line-block active" : "line-block"}
className={stage > 3 ? "line-block active" : "line-block"}
>
<Lines className="lines" />
<Lines className="lines" />
</div>
<div
className={stage > 5 ? "icon-block active" : "icon-block"}
className={stage > 4 ? "icon-block active" : "icon-block"}
>
<Img3 className="modal-icon" />
<h3 className="icon-title">
@ -146,7 +150,7 @@ const ImmediateCreditModal = ({
</div>
<div
className={stage > 5 ? "line-block active" : "line-block"}
className={stage > 4 ? "line-block active" : "line-block"}
>
<Lines className="lines" />
<Lines className="lines" />
@ -270,11 +274,7 @@ const ImmediateCreditModal = ({
setIsGuranter={setIsGuranter}
setBorrowerData={setBorrowerData}
borrowerData={borrowerData}
// data={data}
// setData={setData}
// immediatCreditData={immediatCreditData}
// id={id}
// setId={setId}
setSignRecipient={setSignRecipient}
/>
) : stage === 2 ? (
<BorrowerInfo
@ -296,6 +296,7 @@ const ImmediateCreditModal = ({
setIsGuranter={setIsGuranter}
guaranterData={guaranterData}
setGuaranterData={setGuaranterData}
signRecipient={signRecipient}
// data={data}
// setData={setData}
// immediatCreditData={immediatCreditData}