Files
user-front/src/components/dashboard/navgan/add-request-loan/forms/AddForm.jsx

80 lines
3.4 KiB
JavaScript

import { Button, Stack, ToggleButton, ToggleButtonGroup, Typography } from "@mui/material";
import { useTranslations } from "next-intl";
import { CenterLayout } from "@witel/webapp-builder";
import { useState } from "react";
import DoneIcon from "@mui/icons-material/Done";
import { NextLinkComposed } from "@witel/webapp-builder/dist/utils/linkRouting";
import SvgDone from "@/core/components/svgs/SvgDone";
import RealPersonForm from "@/components/dashboard/navgan/add-request-loan/forms/RealPersonForm";
import LegalPersonForm from "@/components/dashboard/navgan/add-request-loan/forms/LegalPersonForm";
import CheckRules from "@/components/dashboard/navgan/add-request-loan/forms/CheckRules";
const AddFormComponent = () => {
const t = useTranslations();
const [finishLoanRequest, setFinishLoanRequest] = useState(false);
const [rulesAccepted, setRulesAccepted] = useState(false);
const [personType, setPersonType] = useState("real");
const [rulesChecked, setRulesChecked] = useState({
rule1: false,
rule2: false,
rule3: false,
rule4: false,
rule5: false,
rule6: false,
rule7: false,
rule8: false,
rule9: false,
rule10: false,
});
const allRulesChecked = Object.values(rulesChecked).every(Boolean);
return (
<>
{!rulesAccepted ? (
<CheckRules
allRulesChecked={allRulesChecked}
rulesChecked={rulesChecked}
setRulesAccepted={setRulesAccepted}
setRulesChecked={setRulesChecked}
/>
) : finishLoanRequest ? (
<CenterLayout>
<SvgDone width={200} height={200} />
<Stack direction={"row"} spacing={0.7} sx={{ mb: 4 }}>
<Typography variant={"h5"} align={"center"}>
{t("LoanRequest.finish_loan_request")}
</Typography>
<DoneIcon color={"success"} />
</Stack>
<Button variant={"contained"} component={NextLinkComposed} to={"/dashboard/navgan/followUp-loan"}>
{t("LoanRequest.back_to_dashboard")}
</Button>
</CenterLayout>
) : (
<>
<Stack sx={{ width: "100%", my: 3 }} justifyContent={"center"} alignItems={"center"}>
<ToggleButtonGroup
color="primary"
value={personType}
exclusive
onChange={(e, value) => {
if (value === null) return;
setPersonType(value);
}}
>
<ToggleButton value="real">{t("LoanRequest.real_person")}</ToggleButton>
<ToggleButton value="legal">{t("LoanRequest.legal_person")}</ToggleButton>
</ToggleButtonGroup>
</Stack>
{personType === "real" ? (
<RealPersonForm setFinishLoanRequest={setFinishLoanRequest} />
) : (
<LegalPersonForm setFinishLoanRequest={setFinishLoanRequest} />
)}
</>
)}
</>
);
};
export default AddFormComponent;