This commit is contained in:
Kakabay 2024-03-25 15:29:01 +05:00
parent d4ed2ec8d3
commit 9ecd0d0f16
2 changed files with 83 additions and 91 deletions

View File

@ -1,14 +1,14 @@
// IMPORT MODULES
import React, { useState, useRef, useContext, useEffect } from "react";
import { LanguageContext } from "../../backend/LanguageContext";
import { useForm } from "react-hook-form";
import { z } from "zod";
import { zodResolver } from "@hookform/resolvers/zod";
import React, { useState, useRef, useContext, useEffect } from 'react';
import { LanguageContext } from '../../backend/LanguageContext';
import { useForm } from 'react-hook-form';
import { z } from 'zod';
import { zodResolver } from '@hookform/resolvers/zod';
// IMPORT IMAGES
import next from "../../icons/next.svg";
import arrow from "../../icons/arrow-gray.svg";
import next from '../../icons/next.svg';
import arrow from '../../icons/arrow-gray.svg';
import Select from "../global/Select";
import Select from '../global/Select';
// import arrow from "../../icons/arrow.svg";
// const schema = z.object({
@ -20,7 +20,7 @@ import Select from "../global/Select";
// }),
// });
const IDSerias = ["I-AS", "I-AH", "I-BN", "I-LB", "I-MR", "I-DZ"];
const IDSerias = ['I-AS', 'I-AH', 'I-BN', 'I-LB', 'I-MR', 'I-DZ'];
// 478992
// 23908934160170143144000
@ -37,9 +37,9 @@ const BorrowerStage = ({
const [err, setErr] = useState(false);
const [errCode, setErrCode] = useState();
const [idSerial, setIdSerial] = useState("I-AS");
const [passportNumber, setPassportNumber] = useState("");
const [accNumber, setAccNumber] = useState("");
const [idSerial, setIdSerial] = useState('I-AS');
const [passportNumber, setPassportNumber] = useState('');
const [accNumber, setAccNumber] = useState('');
const handlePassportNumber = (e) => {
setPassportNumber(e.target.value);
@ -53,7 +53,7 @@ const BorrowerStage = ({
};
const checkboxHandleChange = (e) => {
e.target.value === "guaranter" ? setIsGuranter(true) : setIsGuranter(false);
e.target.value === 'guaranter' ? setIsGuranter(true) : setIsGuranter(false);
};
const {
@ -70,17 +70,17 @@ const BorrowerStage = ({
const response = await fetch(
`https://shahsyotag.halkbank.gov.tm/onlineloan-services/api/clientinfo`,
{
method: "POST",
method: 'POST',
headers: {
"Content-Type": "application/json",
'Content-Type': 'application/json',
},
body: JSON.stringify({
idSeria: idSeria,
idNo: idNo,
accountNo: accountNo,
clientType: "recipient",
clientType: 'recipient',
}),
}
},
);
if (!response.ok) {
@ -97,11 +97,12 @@ const BorrowerStage = ({
// responseJson.errCode === 0 ? setStage(2) : setStage(3);
if (responseJson.errCode === 0) {
setStage(2);
console.log("availabel");
console.log('availabel');
} else if (responseJson.errCode !== 0) {
setStage(3);
}
} catch (error) {
setStage(3);
console.error(error.toString());
// Handle errors as needed
setErr(true);
@ -112,9 +113,7 @@ const BorrowerStage = ({
fetchData(idSerial, passportNumber, accNumber, isGuranter);
};
console.log(
passportNumber.length === 6 && accNumber.length === 23 ? true : false
);
console.log(passportNumber.length === 6 && accNumber.length === 23 ? true : false);
if (isLoading) {
return (
@ -136,44 +135,44 @@ const BorrowerStage = ({
<section className="imm-cs-1">
<form onSubmit={handleSubmit(onSubmit)}>
<h2 className="cs-2-title">
{locale === "TKM"
? "Karzyň kalkulýatory"
: locale === "РУС"
? "Заполните данные"
: locale === "ENG"
? "Loan calculator"
: "Karzyň kalkulýatory"}
{locale === 'TKM'
? 'Karzyň kalkulýatory'
: locale === 'РУС'
? 'Заполните данные'
: locale === 'ENG'
? 'Loan calculator'
: 'Karzyň kalkulýatory'}
</h2>
<div className="imm-credit-form-wrapper">
<Select
items={IDSerias}
customId={"card"}
blockName={"card-1-select"}
elName={"card-1-select-el"}
name={"passportSerial"}
customId={'card'}
blockName={'card-1-select'}
elName={'card-1-select-el'}
name={'passportSerial'}
eTarget={true}
register={register}
label={
locale === "TKM"
? "Kartyň görnüşi"
: locale === "РУС"
? "Серия паспорта"
: locale === "ENG"
? "Card type"
: "Kartyň görnüşi"
locale === 'TKM'
? 'Kartyň görnüşi'
: locale === 'РУС'
? 'Серия паспорта'
: locale === 'ENG'
? 'Card type'
: 'Kartyň görnüşi'
}
stateSetter={setIdSerial}
/>
<div className="input-block">
<label htmlFor="passport-number">
{locale === "TKM"
? "Hasaba almak"
: locale === "РУС"
? "Номер паспорта"
: locale === "ENG"
? "Sign up"
: "Hasaba almak"}
{locale === 'TKM'
? 'Hasaba almak'
: locale === 'РУС'
? 'Номер паспорта'
: locale === 'ENG'
? 'Sign up'
: 'Hasaba almak'}
</label>
<input
// {...register("passportNumber", { valueAsNumber: true })}
@ -187,13 +186,13 @@ const BorrowerStage = ({
</div>
<div className="input-block">
<label htmlFor="bank-acc">
{locale === "TKM"
? "Hasaba almak"
: locale === "РУС"
? "Номер банковского аккаунта"
: locale === "ENG"
? "Sign up"
: "Hasaba almak"}
{locale === 'TKM'
? 'Hasaba almak'
: locale === 'РУС'
? 'Номер банковского аккаунта'
: locale === 'ENG'
? 'Sign up'
: 'Hasaba almak'}
</label>
<input
// {...register("bankAccount", { valueAsNumber: true })}
@ -210,14 +209,11 @@ const BorrowerStage = ({
</div>
<div className="imm-credit-checkbox-group">
<div
className="imm-credit-checkbox-block"
onClick={() => isGuranterHandler(false)}
>
<div className="imm-credit-checkbox-block" onClick={() => isGuranterHandler(false)}>
<input
type="radio"
id="borrower"
value={"recepient"}
value={'recepient'}
name="client-type"
checked={isGuranter ? false : true}
onChange={checkboxHandleChange}
@ -225,24 +221,21 @@ const BorrowerStage = ({
className="radio-button"
/>
<label htmlFor="borrower">
{locale === "TKM"
? "Hasaba almak"
: locale === "РУС"
? "Гос. страх"
: locale === "ENG"
? "Borrower"
: "Hasaba almak"}
{locale === 'TKM'
? 'Hasaba almak'
: locale === 'РУС'
? 'Гос. страх'
: locale === 'ENG'
? 'Borrower'
: 'Hasaba almak'}
</label>
</div>
<div
className="imm-credit-checkbox-block"
onClick={() => isGuranterHandler(true)}
>
<div className="imm-credit-checkbox-block" onClick={() => isGuranterHandler(true)}>
<input
type="radio"
id="isGuranter"
value={"guaranter"}
value={'guaranter'}
name="client-type"
checked={isGuranter ? true : false}
onChange={checkboxHandleChange}
@ -250,39 +243,34 @@ const BorrowerStage = ({
className="radio-button"
/>
<label htmlFor="isGuranter">
{locale === "TKM"
? "Hasaba almak"
: locale === "РУС"
? "Поручитель"
: locale === "ENG"
? "guaranter"
: "Hasaba almak"}
{locale === 'TKM'
? 'Hasaba almak'
: locale === 'РУС'
? 'Поручитель'
: locale === 'ENG'
? 'guaranter'
: 'Hasaba almak'}
</label>
</div>
</div>
<div className="card-button cs-1-bottom">
<button
disabled={
passportNumber.length === 6 && accNumber.length === 23
? false
: true
}
disabled={passportNumber.length === 6 && accNumber.length === 23 ? false : true}
type="submit"
className="sign-btn cd-btn"
onClick={() => {
// setData({ ...data, type: inputValid, type_localized: input });
}}
>
}}>
<div>
<h3>
{locale === "TKM"
? "Dowam et"
: locale === "РУС"
? "Продолжить"
: locale === "ENG"
? "Proceed"
: "Dowam et"}
{locale === 'TKM'
? 'Dowam et'
: locale === 'РУС'
? 'Продолжить'
: locale === 'ENG'
? 'Proceed'
: 'Dowam et'}
</h3>
<div className="btn-img">
<img src={next} alt="logout" />

View File

@ -40,6 +40,10 @@ const ImmediateCreditModal = ({
const [loading, setLoading] = useState();
const [error, setError] = useState();
const [borrowerData, setBorrowerData] = useState();
const [guaranterData, setGuaranterData] = useState();
const [signRecipient, setSignRecipient] = useState();
return (
<section className={modalOpen ? 'modal credit-modal active' : 'modal credit-modal'}>
<div className="modal-container">