ImmediateCredit

This commit is contained in:
Kakabay 2024-03-22 20:36:20 +05:00
parent 1473bfdd8b
commit b1682ee4c5
3 changed files with 213 additions and 159 deletions

View File

@ -1,23 +1,23 @@
// IMPORT MODULES
import React, { useState, useEffect, useContext } from 'react';
import { UserContext } from '../backend/UserContext';
import { LanguageContext } from '../backend/LanguageContext';
import axios from 'axios';
import React, { useState, useEffect, useContext } from "react";
import { UserContext } from "../backend/UserContext";
import { LanguageContext } from "../backend/LanguageContext";
import axios from "axios";
// IMPORT COMPONENTS
import Breadcrumb from '../components/global/Breadcrumb';
import ImmediateCreditModal from '../components/immediateCredits/ImmediateCreditModal';
import ProgressLoader from '../components/global/ProgressLoader';
import Success from '../components/global/Success';
import Error from '../components/global/Error';
import Breadcrumb from "../components/global/Breadcrumb";
import ImmediateCreditModal from "../components/immediateCredits/ImmediateCreditModal";
import ProgressLoader from "../components/global/ProgressLoader";
import Success from "../components/global/Success";
import Error from "../components/global/Error";
// IMPORT HELPERS
import { dataDestination } from '../destinationUrl';
import { dataDestination } from "../destinationUrl";
// IMPORT IMAGES
import credit from '../icons/credit-black.svg';
import add from '../icons/add.svg';
import allert from '../icons/info-circle.svg';
import credit from "../icons/credit-black.svg";
import add from "../icons/add.svg";
import allert from "../icons/info-circle.svg";
const ImmediateCredit = () => {
const { locale } = useContext(LanguageContext);
@ -27,44 +27,46 @@ const ImmediateCredit = () => {
const [modalOpen, setModalOpen] = useState(false);
const [stage, setStage] = useState(1);
const [loader, setLoader] = useState(false);
const [immediateCreditData, setImmediateCreditData] = useState();
// const [immediateCreditData, setImmediateCreditData] = useState();
const [progress, setProgress] = useState(0);
useEffect(() => {
if (modalOpen) {
document.body.style.overflowY = 'hidden';
document.body.style.overflowY = "hidden";
} else {
document.body.style.overflowY = 'visible';
document.body.style.overflowY = "visible";
}
}, [modalOpen]);
useEffect(() => {
let isMounted = true;
axios
.get(`${dataDestination}/credit_data`)
.then((res) => {
if (isMounted) {
setImmediateCreditData(res.data);
}
})
.catch();
return () => {
isMounted = false;
};
}, []);
// useEffect(() => {
// let isMounted = true;
// axios
// .get(`${dataDestination}/credit_data`)
// .then((res) => {
// if (isMounted) {
// setImmediateCreditData(res.data);
// }
// })
// .catch();
// return () => {
// isMounted = false;
// };
// }, []);
// console.log(immediateCreditData);
return (
<section className="cards">
{success ? (
<Success
message={
locale === 'TKM'
? 'Ýüzlenme ugradyldy!'
: locale === 'РУС'
? 'Ваш запрос успешно отправлен!'
: locale === 'ENG'
? 'Request was successfully sent!'
: 'Ýüzlenme ugradyldy!'
locale === "TKM"
? "Ýüzlenme ugradyldy!"
: locale === "РУС"
? "Ваш запрос успешно отправлен!"
: locale === "ENG"
? "Request was successfully sent!"
: "Ýüzlenme ugradyldy!"
}
setSuccess={setSuccess}
/>
@ -72,28 +74,28 @@ const ImmediateCredit = () => {
{error ? (
<Error
message={
locale === 'TKM'
? 'Ýüzlenme ugradylmady'
: locale === 'РУС'
? 'Не удалось отправить запрос'
: locale === 'ENG'
? 'Failed to send request'
: 'Ýüzlenme ugradylmady'
locale === "TKM"
? "Ýüzlenme ugradylmady"
: locale === "РУС"
? "Не удалось отправить запрос"
: locale === "ENG"
? "Failed to send request"
: "Ýüzlenme ugradylmady"
}
setError={setError}
/>
) : null}
<Breadcrumb
image={credit}
link={'/home/immediate-credits'}
link={"/home/immediate-credits"}
linkTitle={
locale === 'TKM'
? 'Çalt Karzlar'
: locale === 'РУС'
? 'Быстрые Кредиты'
: locale === 'ENG'
? 'Immediate Loans'
: 'Çalt Karzlar'
locale === "TKM"
? "Çalt Karzlar"
: locale === "РУС"
? "Быстрые Кредиты"
: locale === "ENG"
? "Immediate Loans"
: "Çalt Karzlar"
}
/>
<ImmediateCreditModal
@ -105,7 +107,7 @@ const ImmediateCredit = () => {
setLoader={setLoader}
setSuccess={setSuccess}
setError={setError}
immediateCreditData={immediateCreditData}
// immediateCreditData={immediateCreditData}
setProgress={setProgress}
/>
{loader ? <ProgressLoader progress={progress} /> : null}
@ -113,13 +115,13 @@ const ImmediateCredit = () => {
<div className="cards-inner">
<div className="card-title">
<h2 className="cards-title">
{locale === 'TKM'
? 'Çalt karz almak üçin onlaýn-ýüzlenme'
: locale === 'РУС'
? 'Онлайн-заявка для получения быстрого кредита'
: locale === 'ENG'
? 'Online application for immediate loan issuance'
: 'Çalt karz almak üçin onlaýn-ýüzlenme'}
{locale === "TKM"
? "Çalt karz almak üçin onlaýn-ýüzlenme"
: locale === "РУС"
? "Онлайн-заявка для получения быстрого кредита"
: locale === "ENG"
? "Online application for immediate loan issuance"
: "Çalt karz almak üçin onlaýn-ýüzlenme"}
</h2>
<button
type="button"
@ -128,18 +130,19 @@ const ImmediateCredit = () => {
window.scrollTo(0, 0);
setStage(1);
setModalOpen(true);
}}>
}}
>
<div className="card-img">
<img src={add} alt="add" />
</div>
<h3>
{locale === 'TKM'
? 'Ýüzlenme doldurmak'
: locale === 'РУС'
? 'Заполнить заявку'
: locale === 'ENG'
? 'Fill in application'
: 'Ýüzlenme doldurmak'}
{locale === "TKM"
? "Ýüzlenme doldurmak"
: locale === "РУС"
? "Заполнить заявку"
: locale === "ENG"
? "Fill in application"
: "Ýüzlenme doldurmak"}
</h3>
</button>
</div>
@ -149,40 +152,40 @@ const ImmediateCredit = () => {
<tr className="table-head">
<th>ID</th>
<th>
{locale === 'TKM'
? 'Görnüşi'
: locale === 'РУС'
? 'Тип'
: locale === 'ENG'
? 'Type'
: 'Görnüşi'}
{locale === "TKM"
? "Görnüşi"
: locale === "РУС"
? "Тип"
: locale === "ENG"
? "Type"
: "Görnüşi"}
</th>
<th>
{locale === 'TKM'
? 'Senesi'
: locale === 'РУС'
? 'Дата'
: locale === 'ENG'
? 'Date'
: 'Senesi'}
{locale === "TKM"
? "Senesi"
: locale === "РУС"
? "Дата"
: locale === "ENG"
? "Date"
: "Senesi"}
</th>
<th>
{locale === 'TKM'
? 'Ýagdaýy'
: locale === 'РУС'
? 'Статус'
: locale === 'ENG'
? 'Status'
: 'Ýagdaýy'}
{locale === "TKM"
? "Ýagdaýy"
: locale === "РУС"
? "Статус"
: locale === "ENG"
? "Status"
: "Ýagdaýy"}
</th>
<th>
{locale === 'TKM'
? 'Amal'
: locale === 'РУС'
? 'Действие'
: locale === 'ENG'
? 'Operation'
: 'Amal'}
{locale === "TKM"
? "Amal"
: locale === "РУС"
? "Действие"
: locale === "ENG"
? "Operation"
: "Amal"}
</th>
</tr>
{user ? (
@ -195,56 +198,58 @@ const ImmediateCredit = () => {
<td>{el.date}</td>
<td
className={
el.status === 'kart_chykarylmady'
? 'red'
: el.status === 'kart_chykaryldy' || el.status === 'kabul_edildi'
? 'green'
: ''
}>
{el.status === 'ugradyldy'
? locale === 'TKM'
? 'Ugradyldy'
: locale === 'РУС'
? 'Отправлено'
: locale === 'ENG'
? 'Sent'
: 'Ugradyldy'
: el.status === 'kabul_edildi'
? locale === 'TKM'
? 'Kabul edildi'
: locale === 'РУС'
? 'Принята'
: locale === 'ENG'
? 'Accepted'
: 'Kabul edildi'
: el.status === 'seredilyar'
? locale === 'TKM'
? 'Görülyar'
: locale === 'РУС'
? 'На стадии рассмотрения'
: locale === 'ENG'
? 'Under consideration'
: 'Görülyar'
: el.status === 'kart_chykaryldy'
? locale === 'TKM'
? 'Tassyklandy'
: locale === 'РУС'
? 'Утверждено'
: locale === 'ENG'
? 'Approved'
: 'Tassyklandy'
: el.status === 'kart_chykarylmady'
? locale === 'TKM'
? 'Ret edildi'
: locale === 'РУС'
? 'Отказано'
: locale === 'ENG'
? 'Denied'
: 'Ret edildi'
: ''}
el.status === "kart_chykarylmady"
? "red"
: el.status === "kart_chykaryldy" ||
el.status === "kabul_edildi"
? "green"
: ""
}
>
{el.status === "ugradyldy"
? locale === "TKM"
? "Ugradyldy"
: locale === "РУС"
? "Отправлено"
: locale === "ENG"
? "Sent"
: "Ugradyldy"
: el.status === "kabul_edildi"
? locale === "TKM"
? "Kabul edildi"
: locale === "РУС"
? "Принята"
: locale === "ENG"
? "Accepted"
: "Kabul edildi"
: el.status === "seredilyar"
? locale === "TKM"
? "Görülyar"
: locale === "РУС"
? "На стадии рассмотрения"
: locale === "ENG"
? "Under consideration"
: "Görülyar"
: el.status === "kart_chykaryldy"
? locale === "TKM"
? "Tassyklandy"
: locale === "РУС"
? "Утверждено"
: locale === "ENG"
? "Approved"
: "Tassyklandy"
: el.status === "kart_chykarylmady"
? locale === "TKM"
? "Ret edildi"
: locale === "РУС"
? "Отказано"
: locale === "ENG"
? "Denied"
: "Ret edildi"
: ""}
</td>
<td>
{el.status === '5' ? (
{el.status === "5" ? (
<div className="reject">
<div className="reason">
<h4>{el.action}</h4>
@ -252,7 +257,7 @@ const ImmediateCredit = () => {
<img src={allert} alt="reject" />
</div>
) : (
''
""
)}
</td>
</tr>
@ -261,13 +266,13 @@ const ImmediateCredit = () => {
) : (
<tr>
<td>
{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"}
</td>
<td></td>
<td></td>
@ -278,13 +283,13 @@ const ImmediateCredit = () => {
) : (
<tr>
<td>
{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"}
</td>
<td></td>
<td></td>

View File

@ -0,0 +1,48 @@
.imm-cs-1 {
form {
display: flex;
flex-direction: column;
gap: 3rem;
}
}
.imm-credit-form-wrapper {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}
.imm-credit-checkbox-group {
display: flex;
gap: 4rem;
}
.imm-credit-checkbox-block {
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
cursor: pointer;
label {
font-size: 1.4rem;
cursor: pointer;
}
input {
cursor: pointer;
}
}
.input-block {
span {
font-size: 1.4rem;
// font-weight: 600;
}
}
.radio-button {
width: 1.6rem;
height: 1.6rem;
border-radius: 0.4rem;
}

View File

@ -23,3 +23,4 @@
@import "./credit-modal";
@import "./success.scss";
@import "./topup";
@import "./immediate-credits";