diff --git a/src/Components/FormField.jsx b/src/Components/FormField.jsx index 2c67452..0853ad2 100644 --- a/src/Components/FormField.jsx +++ b/src/Components/FormField.jsx @@ -520,7 +520,7 @@ const FormField = ({ ps={1} {...field} {...props} size='md' colorScheme='forestGreen'> - Is This Sharia Compliant + Is This Shariah Compliant );} else{ diff --git a/src/Layout/DefaultLayout.jsx b/src/Layout/DefaultLayout.jsx index 39f6a95..cf60667 100644 --- a/src/Layout/DefaultLayout.jsx +++ b/src/Layout/DefaultLayout.jsx @@ -233,7 +233,7 @@ const DashboardLayout = ({ isOnline }) => { return ( - Deposite Request + Deposit Request ); diff --git a/src/Pages/Admin/Notification.jsx b/src/Pages/Admin/Notification.jsx index 3ac1d23..874a28a 100644 --- a/src/Pages/Admin/Notification.jsx +++ b/src/Pages/Admin/Notification.jsx @@ -26,7 +26,7 @@ import ToastBox from "../../Components/ToastBox"; import NormalTable from "../../Components/DataTable/NormalTable"; import GlobalStateContext from "../../Contexts/GlobalStateContext"; import { useGetInvestorsQuery } from "../../Services/investor.details.service"; -import { TABLE_PAGINATION } from "../../Constants/Paginations"; +import { INVESTOR_TABLE_PAGINATION, TABLE_PAGINATION } from "../../Constants/Paginations"; import { formatDate, generateSerialNumber } from "../../Constants/Constants"; import { ViewIcon } from "@chakra-ui/icons"; import { useGetUnbanInvestorQuery } from "../../Services/ban.investor.service"; @@ -58,8 +58,8 @@ const Notification = () => { const [form, setForm] = useState({}); const [isLoading, setIsLoading] = useState(false); const [selectedRadio, setSelectedRadio] = useState([]); - const [pageSize, setPageSize] = useState(TABLE_PAGINATION?.size); - const [currentPage, setCurrentPage] = useState(TABLE_PAGINATION?.page); + const [pageSize, setPageSize] = useState(INVESTOR_TABLE_PAGINATION?.size); + const [currentPage, setCurrentPage] = useState(INVESTOR_TABLE_PAGINATION?.page); const [searchTerm, setSearchTerm] = useState(""); const [debouncedSearchTerm, setDebouncedSearchTerm] = useState(""); const [country, setCountry] = useState(""); @@ -116,7 +116,7 @@ const Notification = () => { page: 1, // Omit pagination for search size: 10000, // Omit pagination for search // page: debouncedSearchTerm ? undefined : currentPage, // Disable pagination for search - // size: debouncedSearchTerm ? undefined : pageSize, // Disable pagination for search + // size: debouncedSearchTerm ? undefined : 10000 || pageSize || 500, // Disable pagination for search search: debouncedSearchTerm, // Pass search term country_xid: country, KYCStatus: kyc, diff --git a/src/Pages/IO_Management/CreateIO/IOTransaction/ViewDistributionInvestor.jsx b/src/Pages/IO_Management/CreateIO/IOTransaction/ViewDistributionInvestor.jsx index 5694c8c..8316521 100644 --- a/src/Pages/IO_Management/CreateIO/IOTransaction/ViewDistributionInvestor.jsx +++ b/src/Pages/IO_Management/CreateIO/IOTransaction/ViewDistributionInvestor.jsx @@ -108,7 +108,7 @@ const ViewDistributionInvestor = ({ isOpen, onClose, id: exitId, amount }) => { "Last Name", "Amount", "Holding (%)", - "Distriution Amt($)", + "Distribution Amt($)", "Yeild (%)", ]; @@ -169,10 +169,10 @@ const ViewDistributionInvestor = ({ isOpen, onClose, id: exitId, amount }) => { ), - "Distriution Amt($)": ( + "Distribution Amt($)": ( - {IODetails?.ioTransactionRecords?.Pending[index]?.transactionAmount?.toLocaleString(undefined, { + {item?.distribution_amt?.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2, })} diff --git a/src/Pages/IO_Management/InvestmentDocuments.jsx b/src/Pages/IO_Management/InvestmentDocuments.jsx index f89958f..92633cf 100644 --- a/src/Pages/IO_Management/InvestmentDocuments.jsx +++ b/src/Pages/IO_Management/InvestmentDocuments.jsx @@ -60,9 +60,9 @@ export const investmentDocSchema = yup.object().shape({ // return value && value.size <= 2 * 1024 * 1024; // 2MB in bytes // }) fileName: yup.string().required("File name is required") - .max(30, "File name must be at most 30 characters"), // Maximum length validation, + .max(35, "File name must be at most 30 characters"), // Maximum length validation, documentNameArabic: yup.string().required("File name Arabic is required") - .max(25, "File name must be at most 30 characters"), + .max(25, "File name must be at most 35 characters"), }); const InvestmentDocuments = ({ diff --git a/src/Pages/IO_Management/ViewIO/HeaderModal/UpdateIOStatus.jsx b/src/Pages/IO_Management/ViewIO/HeaderModal/UpdateIOStatus.jsx index 6327f52..1db3014 100644 --- a/src/Pages/IO_Management/ViewIO/HeaderModal/UpdateIOStatus.jsx +++ b/src/Pages/IO_Management/ViewIO/HeaderModal/UpdateIOStatus.jsx @@ -17,6 +17,9 @@ import { ModalHeader, ModalOverlay, FormErrorMessage, + Text, + Textarea, + Box, } from "@chakra-ui/react"; import { useGetIOprepopulateDataQuery, @@ -37,6 +40,8 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { const { data } = useGetIOprepopulateDataQuery(); const [updateStatusIo] = useUpdateStatusIoMutation(); const [updateCancleStatus] = useUpdateCancleStatusToMutation(); + const [message, setMessage] = useState(null); + const [messageError, setMessageError] = useState(null); // useEffect(() => { // setSelectedStatusId(status?.[0]?.id); @@ -47,11 +52,14 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { setSelectedStatusId(id); }; - const handleSubmit = async () => { + const handleSubmit = async (data) => { if (!selectedStatusId) { setError("Please select status"); return; } + if (!message) { + return setMessageError("message is required"); + } setError(""); setIsLoading(true); try { @@ -60,9 +68,10 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { // If selectedItem is 'Cancelled', make the updateCancelStatus API call if (selectedItem === import.meta.env.VITE_STATUS_CANCELLED) { res = await updateCancleStatus({ - id + id: id, + data: { comments: message }, }); - } + } // Otherwise, make the updateStatusIo API call else { res = await updateStatusIo({ @@ -72,7 +81,7 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { id, }); } - + console.log("API Response:", res); setIsLoading(false); handleClose(); @@ -84,6 +93,8 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { const handleClose = () => { setSelectedItem(null); setSelectedStatusId(null); + setMessage(null); + setMessageError(null); onClose(); setError(""); }; @@ -121,7 +132,8 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { colorScheme={ selectedItem === import.meta.env.VITE_STATUS_DRAFT ? "gray" - : selectedItem === import.meta.env.VITE_STATUS_PROCESSING + : selectedItem === + import.meta.env.VITE_STATUS_PROCESSING ? "yellow" : selectedItem === import.meta.env.VITE_STATUS_OPEN ? "blue" @@ -154,7 +166,7 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { { colorScheme={ statusAdmin === import.meta.env.VITE_STATUS_DRAFT ? "gray" - : statusAdmin === import.meta.env.VITE_STATUS_PROCESSING + : statusAdmin === + import.meta.env.VITE_STATUS_PROCESSING ? "yellow" : statusAdmin === import.meta.env.VITE_STATUS_OPEN ? "blue" @@ -171,7 +184,8 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { ? "green" : statusAdmin === import.meta.env.VITE_STATUS_EXITED ? "red" - : statusAdmin === import.meta.env.VITE_STATUS_CANCELLED + : statusAdmin === + import.meta.env.VITE_STATUS_CANCELLED ? "orange" : "purple" } @@ -191,6 +205,24 @@ const UpdateIOStatus = ({ isOpen, onClose, status }) => { {error} + {selectedItem === import.meta.env.VITE_STATUS_CANCELLED && ( + + + Message + +