diff --git a/package.json b/package.json
index 9b8b7b0..05c6f46 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"@mui/icons-material": "^5.11.16",
"@mui/lab": "^5.0.0-alpha.152",
"@mui/material": "^5.12.0",
- "@witel/webapp-builder": "^1.0.6",
+ "@witel/webapp-builder": "^1.1.0",
"axios": "^1.4.0",
"colord": "^2.9.3",
"eslint": "8.36.0",
diff --git a/src/components/dashboard/refahi/add-request-loan/accessibility/index.jsx b/src/components/dashboard/refahi/add-request-loan/accessibility/index.jsx
deleted file mode 100644
index 3618d0b..0000000
--- a/src/components/dashboard/refahi/add-request-loan/accessibility/index.jsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import {Button, Typography} from "@mui/material";
-import {useTranslations} from "next-intl";
-import CenterLayout from "@/layouts/CenterLayout";
-import {useRouter} from "next/router";
-import {NextLinkComposed} from "@/core/components/LinkRouting";
-
-const AccessibilityComponent = () => {
- const t = useTranslations();
- const router = useRouter();
-
- return (
-
-
- {t("LoanRequest.add_loan_request_permission")}
-
-
-
- );
-};
-
-export default AccessibilityComponent;
diff --git a/src/components/dashboard/refahi/add-request-loan/forms/AddForm.jsx b/src/components/dashboard/refahi/add-request-loan/forms/AddForm.jsx
deleted file mode 100644
index 4051854..0000000
--- a/src/components/dashboard/refahi/add-request-loan/forms/AddForm.jsx
+++ /dev/null
@@ -1,439 +0,0 @@
-import StyledForm from "@/core/components/StyledForm";
-import UploadSystem from "@/core/components/UploadSystem";
-import {SEND_LOAN_REQUEST_WELFARE} from "@/core/data/apiRoutes";
-import DataSaverOnIcon from "@mui/icons-material/DataSaverOn";
-import {
- Box,
- Button,
- Chip,
- Divider,
- FormControl,
- FormHelperText,
- InputLabel,
- MenuItem,
- Select,
- Stack,
- TextField
-} from "@mui/material";
-import {Field, Formik} from "formik";
-import {useTranslations} from "next-intl";
-import * as Yup from "yup";
-import useRequest from "@/lib/app/hooks/useRequest";
-import useProvince from "@/lib/app/hooks/useProvince";
-import {useRouter} from "next/router";
-
-const AddFormComponent = () => {
- const t = useTranslations();
- const requestServer = useRequest()
- const {provinceList, isLoadingProvinceList, errorProvinceList} = useProvince();
- const router = useRouter();
-
- // initial values, validation and request action of form
- const initialValues = {
- name: "",
- phone_number: "",
- province_id: "",
- national_id: "",
- shenasname_id: "",
- sherkat_naft_doc: null,
- estate_doc: null,
- agreement_doc: null,
- national_card_image: null,
- shenasname_image: null,
- payan_khedmat_image: null,
- };
-
- const validationSchema = Yup.object().shape({
- name: Yup.string().required(t("LoanRequest.error_message_name")),
- phone_number: Yup.string().required(
- t("LoanRequest.error_message_phone_number")
- ),
- province_id: Yup.string().required(t("LoanRequest.error_message_province_id")),
- national_id: Yup.string().required(
- t("LoanRequest.error_message_national_id")
- ),
- shenasname_id: Yup.string().required(
- t("LoanRequest.error_message_shenasname_id")
- ),
- sherkat_naft_doc: Yup.mixed().required(t("LoanRequest.error_message_sherkat_naft_doc")),
- estate_doc: Yup.mixed().required(t("LoanRequest.error_message_estate_doc")),
- agreement_doc: Yup.mixed().required(t("LoanRequest.error_message_agreement_doc")),
- national_card_image: Yup.mixed().required(t("LoanRequest.error_message_national_card_image")),
- shenasname_image: Yup.mixed().required(t("LoanRequest.error_message_shenasname_image")),
- payan_khedmat_image: Yup.mixed().required(t("LoanRequest.error_message_payan_khedmat_image")),
- });
- const handleSubmit = (values, props) => {
- const formData = new FormData();
- formData.append("name", values.name);
- formData.append("phone_number", values.phone_number);
- formData.append("province_id", values.province_id);
- formData.append("national_id", values.national_id);
- formData.append("shenasname_id", values.shenasname_id);
- if (values.sherkat_naft_doc != null)
- formData.append("sherkat_naft_doc", values.sherkat_naft_doc);
- if (values.estate_doc != null)
- formData.append("estate_doc", values.estate_doc);
- if (values.agreement_doc != null)
- formData.append("agreement_doc", values.agreement_doc);
- if (values.shenasname_image != null)
- formData.append("shenasname_image", values.shenasname_image);
- if (values.national_card_image != null)
- formData.append("national_card_image", values.national_card_image);
- if (values.payan_khedmat_image != null)
- formData.append("payan_khedmat_image", values.payan_khedmat_image);
- requestServer(SEND_LOAN_REQUEST_WELFARE, "post", {auth: true, data: formData})
- .then(function (response) {
- router.replace('/dashboard/refahi/followUp-loan');
- })
- .catch(function (error) {
- })
- .finally(function () {
- props.setSubmitting(false);
- });
- };
- // end initial values, validation and request action of form
-
- return (
-
- {(props) => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {t("LoanRequest.text_field_province_id")}
-
-
- {props.touched.province_id && props.errors.province_id ? props.errors.province_id : ""}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )}
-
- );
-};
-
-export default AddFormComponent;
\ No newline at end of file
diff --git a/src/components/dashboard/refahi/add-request-loan/index.jsx b/src/components/dashboard/refahi/add-request-loan/index.jsx
deleted file mode 100644
index bc82ac7..0000000
--- a/src/components/dashboard/refahi/add-request-loan/index.jsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import DashboardLayouts from "@/layouts/dashboardLayouts";
-import useUser from "@/lib/app/hooks/useUser";
-import {useTranslations} from "next-intl";
-import AddFormComponent from "@/components/dashboard/refahi/add-request-loan/forms/AddForm";
-import AccessibilityComponent from "@/components/dashboard/refahi/add-request-loan/accessibility";
-
-const LoanRequestComponent = () => {
- const t = useTranslations();
- const {user} = useUser();
- return (
-
- {user.can_request_a_new_loan ? : }
-
- );
-};
-
-export default LoanRequestComponent;
diff --git a/src/components/dashboard/refahi/edit-request-loan/forms/EditForm.jsx b/src/components/dashboard/refahi/edit-request-loan/forms/EditForm.jsx
deleted file mode 100644
index 36f5aa0..0000000
--- a/src/components/dashboard/refahi/edit-request-loan/forms/EditForm.jsx
+++ /dev/null
@@ -1,397 +0,0 @@
-import StyledForm from "@/core/components/StyledForm";
-import UploadSystem from "@/core/components/UploadSystem";
-import {UPDATE_LOAN_REQUEST_WELFARE} from "@/core/data/apiRoutes";
-import useDirection from "@/lib/app/hooks/useDirection";
-import useUser from "@/lib/app/hooks/useUser";
-import DataSaverOnIcon from "@mui/icons-material/DataSaverOn";
-import {Box, Button, Chip, Divider, Stack, TextField} from "@mui/material";
-import {Field, Formik} from "formik";
-import {useTranslations} from "next-intl";
-import * as Yup from "yup";
-import SelectBox from "@/core/components/SelectBox";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {useRouter} from "next/router";
-import useLoading from "@/lib/app/hooks/useLoading";
-
-const EditFormComponent = ({provinceList, initialValues}) => {
- const t = useTranslations();
- const requestServer = useRequest();
- const router = useRouter();
-
-
- // validation and request action of form
- const validationSchema = Yup.object().shape({
- name: Yup.string().required(t("LoanRequest.error_message_name")),
- phone_number: Yup.string().required(
- t("LoanRequest.error_message_phone_number")
- ),
- province_id: Yup.string().required(t("LoanRequest.error_message_province_id")),
- national_id: Yup.string().required(t("LoanRequest.error_message_national_id")),
- shenasname_id: Yup.string().required(t("LoanRequest.error_message_shenasname_id")),
- sherkat_naft_doc: Yup.mixed().required(t("LoanRequest.error_message_sherkat_naft_doc")),
- estate_doc: Yup.mixed().required(t("LoanRequest.error_message_estate_doc")),
- agreement_doc: Yup.mixed().required(t("LoanRequest.error_message_agreement_doc")),
- national_card_image: Yup.mixed().required(t("LoanRequest.error_message_national_card_image")),
- shenasname_image: Yup.mixed().required(t("LoanRequest.error_message_shenasname_image")),
- payan_khedmat_image: Yup.mixed().required(t("LoanRequest.error_message_payan_khedmat_image")),
- });
-
- const handleSubmit = (values, props) => {
- const formData = new FormData();
- formData.append("name", values.name);
- formData.append("phone_number", values.phone_number);
- formData.append("province_id", values.province_id);
- formData.append("national_id", values.national_id);
- formData.append("shenasname_id", values.shenasname_id);
- if (values.sherkat_naft_doc != initialValues.sherkat_naft_doc)
- formData.append("sherkat_naft_doc", values.sherkat_naft_doc);
- if (values.estate_doc != initialValues.estate_doc)
- formData.append("estate_doc", values.estate_doc);
- if (values.agreement_doc != initialValues.agreement_doc)
- formData.append("agreement_doc", values.agreement_doc);
- if (values.shenasname_image != initialValues.shenasname_image)
- formData.append("shenasname_image", values.shenasname_image);
- if (values.national_card_image != initialValues.national_card_image)
- formData.append("national_card_image", values.national_card_image);
- if (values.payan_khedmat_image != initialValues.payan_khedmat_image)
- formData.append("payan_khedmat_image", values.payan_khedmat_image);
-
- requestServer(UPDATE_LOAN_REQUEST_WELFARE + router.query.id, "post", {auth: true, data: formData})
- .then(function (response) {
- })
- .catch(function (error) {
- })
- .finally(function () {
- props.setSubmitting(false);
- });
- };
- if (!initialValues) return "";
- return (
-
- {(props) => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )}
-
- );
-};
-
-export default EditFormComponent;
\ No newline at end of file
diff --git a/src/components/dashboard/refahi/edit-request-loan/index.jsx b/src/components/dashboard/refahi/edit-request-loan/index.jsx
deleted file mode 100644
index 89de937..0000000
--- a/src/components/dashboard/refahi/edit-request-loan/index.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import DashboardLayouts from "@/layouts/dashboardLayouts";
-import EditFormComponent from "@/components/dashboard/refahi/edit-request-loan/forms/EditForm";
-import {useEffect, useState} from "react";
-import {DETAILS_LOAN_REQUEST_WELFARE, GET_PROVINCE_LIST} from "@/core/data/apiRoutes";
-import useLoading from "@/lib/app/hooks/useLoading";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {useRouter} from "next/router";
-import {log} from "next/dist/server/typescript/utils";
-
-const LoanRequestComponent = () => {
- const requestServer = useRequest();
- const {setLoadingPage} = useLoading();
- const router = useRouter();
-
- const [provinceList, setProvinceList] = useState(null);
- const [initialValues, setInitialValues] = useState(null);
-
- // get province list
- useEffect(() => {
- setLoadingPage(true);
- requestServer(GET_PROVINCE_LIST, "get", {auth: true, notification: false})
- .then(function ({data}) {
- const formattedData = data.map((province, index) => ({
- id: index,
- name: province.name,
- value: province.id,
- }));
- setProvinceList(formattedData);
- }).catch(() => {
- setLoadingPage(false);
- });
- }, []);
-
- // get form data
- useEffect(() => {
- if (!provinceList) return;
- setLoadingPage(true);
- requestServer(DETAILS_LOAN_REQUEST_WELFARE + router.query.id, "get", {auth: true, notification: false})
- .then(function ({data}) {
- const item = data.data;
- const formattedData = {
- name: item.name,
- phone_number: item.phone_number,
- province_id: item.province_id,
- national_id: item.national_id,
- shenasname_id: item.shenasname_id,
- sherkat_naft_doc: item.sherkat_naft_doc,
- estate_doc: item.estate_doc,
- agreement_doc: item.agreement_doc,
- national_card_image: item.national_card_image,
- shenasname_image: item.shenasname_image,
- payan_khedmat_image: item.payan_khedmat_image,
- state_id: item.state_id
- };
- setInitialValues(formattedData);
- })
- .catch(() => {
- setLoadingPage(false);
- });
- }, [provinceList, router]);
-
- // Redirect to /dashboard/refahi/followUp-loan if state_id is not 7
- useEffect(() => {
- if (!initialValues) return
- if (initialValues.state_id === 7) return
-
- router.replace('/dashboard/refahi/followUp-loan');
- }, [initialValues]);
-
- return (
- <>
- {initialValues && initialValues.state_id === 7 && (
-
-
-
- )}
- >
- );
-};
-
-export default LoanRequestComponent;
\ No newline at end of file
diff --git a/src/components/dashboard/refahi/followUp-loan/RequestCard.jsx b/src/components/dashboard/refahi/followUp-loan/RequestCard.jsx
deleted file mode 100644
index 799d296..0000000
--- a/src/components/dashboard/refahi/followUp-loan/RequestCard.jsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import {
- Card,
- CardContent,
- CardHeader,
- Grid, IconButton, Tooltip,
- Typography,
-} from "@mui/material";
-import SellIcon from '@mui/icons-material/Sell';
-import EditIcon from '@mui/icons-material/Edit';
-import {useTranslations} from "next-intl";
-import {NextLinkComposed} from "@/core/components/LinkRouting";
-
-
-const RequestCard = ({item}) => {
- const t = useTranslations();
- return (
-
-
- }
- title={`${t("LoanFollowUp.request_number")}: (${item.id})`}
- subheader={item.latest_history_created_at}
- action={
- item.state_id === 7 ? ( // Use the ternary operator or if/else inside curly braces
-
-
-
-
-
- ) : null
- }
- />
-
-
- {item.loan_state}
-
-
-
-
- );
-};
-
-export default RequestCard;
\ No newline at end of file
diff --git a/src/components/dashboard/refahi/followUp-loan/index.jsx b/src/components/dashboard/refahi/followUp-loan/index.jsx
deleted file mode 100644
index 32b121d..0000000
--- a/src/components/dashboard/refahi/followUp-loan/index.jsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import DashboardLayouts from "@/layouts/dashboardLayouts";
-import {Grid, Stack, Typography,} from "@mui/material";
-import {useEffect, useState} from "react";
-import {SHOW_LOAN_REQUEST_WELFARE} from "@/core/data/apiRoutes";
-import useLoading from "@/lib/app/hooks/useLoading";
-import useRequest from "@/lib/app/hooks/useRequest";
-import moment from "jalali-moment";
-import RequestCard from "@/components/dashboard/refahi/followUp-loan/RequestCard";
-import {useTranslations} from "next-intl";
-
-const LoanFollowUpComponent = () => {
- const t = useTranslations()
- const requestServer = useRequest();
- const {setLoadingPage} = useLoading();
- const [requestsList, setRequestsList] = useState(null);
- // get form data
- useEffect(() => {
- setLoadingPage(true)
- requestServer(SHOW_LOAN_REQUEST_WELFARE, "get", {auth: true, notification: false})
- .then(function ({data}) {
- const items = data.data;
- const formattedData = items.map((item, index) => ({
- id: item.id,
- latest_history_created_at: moment(item.latest_history_created_at).locale("fa").format("HH:mm | YYYY/MM/DD"),
- state_id: item.state_id,
- loan_state: item.loan_state,
- }));
- setRequestsList(formattedData);
- setLoadingPage(false)
- })
- .catch(function (error) {
- })
- }, []);
-
- return (
-
- {requestsList == null ? '' : requestsList.length ? (
- {requestsList.map((item, index) => ())}
- ) : ({t('LoanFollowUp.no_request_found')})}
-
- );
-};
-
-export default LoanFollowUpComponent;
diff --git a/src/layouts/dashboard.jsx b/src/layouts/dashboard.jsx
index 9b1a916..a9abba5 100644
--- a/src/layouts/dashboard.jsx
+++ b/src/layouts/dashboard.jsx
@@ -5,9 +5,11 @@ import {GET_SIDEBAR_NOTIFICATION} from "@/core/data/apiRoutes";
const DashboardLayout = (props) => {
const {user} = useUser()
+ const middlewaresProps = props.middlewaresProps || {}
return (
<>