diff --git a/src/components/ImmediateCreditsStages/CardRegistration.js b/src/components/ImmediateCreditsStages/CardRegistration.js index 9543f7c..46e24a5 100644 --- a/src/components/ImmediateCreditsStages/CardRegistration.js +++ b/src/components/ImmediateCreditsStages/CardRegistration.js @@ -1,17 +1,22 @@ // IMPORT MODULES -import React, { useState, useContext } from 'react'; -import { LanguageContext } from '../../backend/LanguageContext'; -import { UserContext } from '../../backend/UserContext'; -import { useForm } from 'react-hook-form'; -import { z } from 'zod'; -import { zodResolver } from '@hookform/resolvers/zod'; +import React, { useState, useContext } from "react"; +import { LanguageContext } from "../../backend/LanguageContext"; +import { UserContext } from "../../backend/UserContext"; +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 next_reverse from '../../icons/next-reverse.svg'; +import next from "../../icons/next.svg"; +import next_reverse from "../../icons/next-reverse.svg"; -const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDetails }) => { +const CardRegistration = ({ + borrowerData, + setStage, + setPaymentLink, + setPaymentDetails, +}) => { const { locale } = useContext(LanguageContext); - const userToken = localStorage.getItem('userToken'); + const userToken = localStorage.getItem("userToken"); const [error, setError] = useState(false); const [isLoading, setIsLoading] = useState(false); @@ -23,23 +28,23 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe } = useForm({ // resolver: zodResolver(schema), defaultValues: { - name: borrowerData.name ? borrowerData.name : 'Loading', - surname: borrowerData.surname ? borrowerData.surname : 'Loading', - lastname: borrowerData.lastname ? borrowerData.lastname : 'loading', - passportSerial: borrowerData.idSeria ? borrowerData.idSeria : 'Loading', - passportNumber: borrowerData.idNo ? borrowerData.idNo : 'Loading', - birthDate: borrowerData.birthDate ? borrowerData.birthDate : 'Loading', - passDate: borrowerData.passDate ? borrowerData.passDate : 'Loading', - passOrg: borrowerData.passOrg ? borrowerData.passOrg : 'Loading', - workPlace: borrowerData.workPlace ? borrowerData.workPlace : '', - workPosition: borrowerData.workPosition ? borrowerData.workPosition : '', - address: borrowerData.address ? borrowerData.address : '', + name: borrowerData.name ? borrowerData.name : "Loading", + surname: borrowerData.surname ? borrowerData.surname : "Loading", + lastname: borrowerData.lastname ? borrowerData.lastname : "loading", + passportSerial: borrowerData.idSeria ? borrowerData.idSeria : "Loading", + passportNumber: borrowerData.idNo ? borrowerData.idNo : "Loading", + birthDate: borrowerData.birthDate ? borrowerData.birthDate : "Loading", + passDate: borrowerData.passDate ? borrowerData.passDate : "Loading", + passOrg: borrowerData.passOrg ? borrowerData.passOrg : "Loading", + workPlace: borrowerData.workPlace ? borrowerData.workPlace : "", + workPosition: borrowerData.workPosition ? borrowerData.workPosition : "", + address: borrowerData.address ? borrowerData.address : "", }, }); - const [workPlace, setWorkPlace] = useState(''); - const [workPosition, setWorkPosition] = useState(''); - const [address, setAddress] = useState(''); + const [workPlace, setWorkPlace] = useState(""); + const [workPosition, setWorkPosition] = useState(""); + const [address, setAddress] = useState(""); const handleWorkPlace = (e) => { setWorkPlace(e.target.value); @@ -53,11 +58,14 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe const sendData = async () => { try { - const headers = { Accept: 'application/json', Authorization: `Bearer ${userToken}` }; + const headers = { + Accept: "application/json", + Authorization: `Bearer ${userToken}`, + }; const response = await fetch( - 'https://shahsyotag.halkbank.gov.tm/app/api/online_credit_card', + "https://shahsyotag.halkbank.gov.tm/app/api/online_credit_card", { - method: 'POST', + method: "POST", headers: headers, body: JSON.stringify({ id_seria: borrowerData.idSeria, @@ -71,7 +79,7 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe dep_code: borrowerData.depCode, address: address, }), - }, + } ); if (!response.ok) { @@ -80,7 +88,7 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe const jsonedResponse = await response.json(); - sendPaymentRequest(jsonedResponse); + sendPaymentRequest(jsonedResponse.url); setPaymentLink(jsonedResponse); } catch (error) { @@ -91,19 +99,22 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe const sendPaymentRequest = async (link) => { try { const headers = { - 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', + "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", }; const formData = new URLSearchParams(); - formData.append('app', 'sanlykarz'); - formData.append('id', borrowerData.idNo); - formData.append('url', link); + formData.append("app", "sanlykarz"); + formData.append("id", borrowerData.idNo); + formData.append("url", link); - const response = await fetch('https://shahsyotag.halkbank.gov.tm/api/v1/start-hack', { - method: 'POST', - headers: headers, - body: formData.toString(), - }); + const response = await fetch( + "https://shahsyotag.halkbank.gov.tm/api/v1/start-hack", + { + method: "POST", + headers: headers, + body: formData.toString(), + } + ); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); @@ -131,19 +142,23 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe

Error...

- @@ -164,101 +179,116 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe

- {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"}

- +
- + {/* {errors.surname && {errors.surname.message}} */}
- +
- +
- +
- +
- @@ -327,20 +361,24 @@ const CardRegistration = ({ borrowerData, setStage, setPaymentLink, setPaymentDe type="submit" className="sign-btn cu-btn" disabled={ - workPlace.length < 3 || workPosition.length < 3 || address.length < 3 || isLoading + workPlace.length < 3 || + workPosition.length < 3 || + address.length < 3 || + isLoading ? true : false } - onClick={onSubmit}> + onClick={onSubmit} + >

- {locale === 'TKM' - ? 'Dowam et' - : locale === 'РУС' - ? 'Подтвердить ' - : locale === 'ENG' - ? 'Proceed' - : 'Dowam et'} + {locale === "TKM" + ? "Dowam et" + : locale === "РУС" + ? "Подтвердить " + : locale === "ENG" + ? "Proceed" + : "Dowam et"}

logout diff --git a/src/components/immediateCredits/ImmediateCreditModal.js b/src/components/immediateCredits/ImmediateCreditModal.js index d248e3d..022337c 100644 --- a/src/components/immediateCredits/ImmediateCreditModal.js +++ b/src/components/immediateCredits/ImmediateCreditModal.js @@ -1,33 +1,33 @@ // IMPORT MODULES -import React, { useEffect, useRef, useState, useContext } from 'react'; -import { LanguageContext } from '../../backend/LanguageContext'; +import React, { useEffect, useRef, useState, useContext } from "react"; +import { LanguageContext } from "../../backend/LanguageContext"; -import axios from 'axios'; +import axios from "axios"; // IMPORT IMAGES -import exit from '../../icons/exit.svg'; -import { ReactComponent as Lines } from '../../icons/lines.svg'; -import { ReactComponent as Img1 } from '../../icons/credit1.svg'; -import { ReactComponent as Img2 } from '../../icons/credit2.svg'; -import { ReactComponent as Img3 } from '../../icons/credit3.svg'; -import { ReactComponent as Img4 } from '../../icons/credit4.svg'; -import { ReactComponent as Img5 } from '../../icons/credit5.svg'; -import { ReactComponent as Img6 } from '../../icons/credit6.svg'; +import exit from "../../icons/exit.svg"; +import { ReactComponent as Lines } from "../../icons/lines.svg"; +import { ReactComponent as Img1 } from "../../icons/credit1.svg"; +import { ReactComponent as Img2 } from "../../icons/credit2.svg"; +import { ReactComponent as Img3 } from "../../icons/credit3.svg"; +import { ReactComponent as Img4 } from "../../icons/credit4.svg"; +import { ReactComponent as Img5 } from "../../icons/credit5.svg"; +import { ReactComponent as Img6 } from "../../icons/credit6.svg"; // IMPORT COMPONENTS -import BorrowerStage from '../ImmediateCreditsStages/BorrowerStage'; -import BorrowerInfo from '../ImmediateCreditsStages/BorrowerInfo'; -import GuaranterStage from '../ImmediateCreditsStages/GuaranterStage'; -import GuaranterInfo from '../ImmediateCreditsStages/GuaranterInfo'; -import NotAUser from '../ImmediateCreditsStages/NotAUser'; -import CalculateStage from '../ImmediateCreditsStages/CalculateStage'; -import AcceptStage from '../ImmediateCreditsStages/AcceptStage'; -import PhoneAccept from '../ImmediateCreditsStages/PhoneAccept'; -import CardDetails from '../ImmediateCreditsStages/CardDetails'; -import LoanAccepted from '../ImmediateCreditsStages/LoanAccepted'; -import CardRegistration from '../ImmediateCreditsStages/CardRegistration'; -import PaymentDetails from '../ImmediateCreditsStages/PaymentDetails'; -import PaymentSuccess from '../ImmediateCreditsStages/PaymentSuccess'; +import BorrowerStage from "../ImmediateCreditsStages/BorrowerStage"; +import BorrowerInfo from "../ImmediateCreditsStages/BorrowerInfo"; +import GuaranterStage from "../ImmediateCreditsStages/GuaranterStage"; +import GuaranterInfo from "../ImmediateCreditsStages/GuaranterInfo"; +import NotAUser from "../ImmediateCreditsStages/NotAUser"; +import CalculateStage from "../ImmediateCreditsStages/CalculateStage"; +import AcceptStage from "../ImmediateCreditsStages/AcceptStage"; +import PhoneAccept from "../ImmediateCreditsStages/PhoneAccept"; +import CardDetails from "../ImmediateCreditsStages/CardDetails"; +import LoanAccepted from "../ImmediateCreditsStages/LoanAccepted"; +import CardRegistration from "../ImmediateCreditsStages/CardRegistration"; +import PaymentDetails from "../ImmediateCreditsStages/PaymentDetails"; +import PaymentSuccess from "../ImmediateCreditsStages/PaymentSuccess"; const ImmediateCreditModal = ({ modalOpen, @@ -46,8 +46,8 @@ const ImmediateCreditModal = ({ const [loading, setLoading] = useState(); const [error, setError] = useState(); - const [errMessage, setErrMessage] = useState(''); - const [acceptedMessage, setAcceptedMessage] = useState(''); + const [errMessage, setErrMessage] = useState(""); + const [acceptedMessage, setAcceptedMessage] = useState(""); const [borrowerData, setBorrowerData] = useState(); const [guaranterData, setGuaranterData] = useState(); @@ -57,32 +57,37 @@ const ImmediateCreditModal = ({ const [maxAmount, setMaxAmount] = useState(); const [recepientAmount, setRecepientAmount] = useState(0); const [creditDuration, setCreditDuration] = useState(1); - const [phoneNumber, setPhoneNumber] = useState(''); - const [cardDetails, setCardDetails] = useState(''); + const [phoneNumber, setPhoneNumber] = useState(""); + const [cardDetails, setCardDetails] = useState(""); const [userDataRes, setUserDataRes] = useState(); - const [paymentLink, setPaymentLink] = useState(''); + const [paymentLink, setPaymentLink] = useState(""); const [paymentDetails, setPaymentDetails] = useState(); const [submitCardDetails, setSumbitCardDetails] = useState(); + console.log(paymentDetails); + return ( -
+

- {locale === 'TKM' - ? 'Çalt karz almak üçin onlaýn-ýüzlenme' - : 'Онлайн-заявка для получения быстрого кредита'} + {locale === "TKM" + ? "Çalt karz almak üçin onlaýn-ýüzlenme" + : "Онлайн-заявка для получения быстрого кредита"}

@@ -182,23 +215,23 @@ const ImmediateCredit = () => { ID - {locale === 'TKM' - ? 'Görnüşi' - : locale === 'РУС' - ? 'Дата заявки' - : locale === 'ENG' - ? 'Type' - : 'Görnüşi'} + {locale === "TKM" + ? "Görnüşi" + : locale === "РУС" + ? "Дата заявки" + : locale === "ENG" + ? "Type" + : "Görnüşi"} - {locale === 'TKM' - ? 'Ýagdaýy' - : locale === 'РУС' - ? 'Статус' - : locale === 'ENG' - ? 'Status' - : 'Ýagdaýy'} + {locale === "TKM" + ? "Ýagdaýy" + : locale === "РУС" + ? "Статус" + : locale === "ENG" + ? "Status" + : "Ýagdaýy"} {loansData && loanStatus ? ( @@ -210,13 +243,62 @@ const ImmediateCredit = () => { ) : ( - {locale === 'TKM' - ? 'Tabşyrlan ýüzlenme ýok' - : locale === 'РУС' - ? 'Заявок на кредиты нет' - : locale === 'ENG' - ? 'There are no applications for loan issuance' - : 'Tabşyrlan ýüzlenme ýok'} + {locale === "TKM" + ? "Tabşyrlan ýüzlenme ýok" + : locale === "РУС" + ? "Заявок на карту" + : locale === "ENG" + ? "There are no applications for loan issuance" + : "Tabşyrlan ýüzlenme ýok"} + + + + + + + )} + + + + + + + + + + + {loansData && loanStatus ? ( + + + + + + ) : ( + +
ID + {locale === "TKM" + ? "Görnüşi" + : locale === "РУС" + ? "Дата заявки" + : locale === "ENG" + ? "Type" + : "Görnüşi"} + + {locale === "TKM" + ? "Ýagdaýy" + : locale === "РУС" + ? "Статус" + : locale === "ENG" + ? "Status" + : "Ýagdaýy"} +
#{loansData.id}{loansData.created_at}{loanStatus.messageRu}
+ {locale === "TKM" + ? "Tabşyrlan ýüzlenme ýok" + : locale === "РУС" + ? "Заявок на кредиты нет" + : locale === "ENG" + ? "There are no applications for loan issuance" + : "Tabşyrlan ýüzlenme ýok"}