diff --git a/src/Components/Popups/ConfirmReversalPopups.jsx b/src/Components/Popups/ConfirmReversalPopups.jsx index b97551c..8918201 100644 --- a/src/Components/Popups/ConfirmReversalPopups.jsx +++ b/src/Components/Popups/ConfirmReversalPopups.jsx @@ -14,8 +14,9 @@ import { ModalOverlay, Text, Textarea, + useBoolean, } from "@chakra-ui/react"; -import React, { useState } from "react"; +import React, { useEffect, useState } from "react"; import PropTypes from "prop-types"; import * as yup from "yup"; @@ -30,6 +31,8 @@ export const conformModalSchema = yup.object().shape({ .max(150, "Maximum length should be 150 characters.") .matches(/^[^\d]+$/, "Sponsor Name cannot contain numbers") .required("Comment is required"), + subject: yup.string().notRequired(), + emailTemplate: yup.string().notRequired(), }); const ConfirmReversalPopups = ({ @@ -43,14 +46,20 @@ const ConfirmReversalPopups = ({ register, reset, handleSubmit, + setValue, formState: { errors }, } = useForm({ resolver: yupResolver(conformModalSchema), mode: "all", }); - const [emailApproval, setEmailApproval] = useState(false); + const [richTextValue, setRichTextValue] = useState(""); + useEffect(() => { + setValue("emailTemplate", richTextValue); + }, [richTextValue]); + + const [emailApproval, setEmailApproval] = useBoolean(false); const modules = { toolbar: [ @@ -107,7 +116,8 @@ const ConfirmReversalPopups = ({ setEmailApproval(e.target.checked)} + onChange={setEmailApproval.toggle} + defaultChecked={emailApproval} > Send an email to the user upon approval @@ -122,7 +132,7 @@ const ConfirmReversalPopups = ({ @@ -178,6 +188,8 @@ ConfirmReversalPopups.propTypes = { onClose: PropTypes.func.isRequired, handelApproved: PropTypes.func.isRequired, isLoading: PropTypes.func.isRequired, + richTextValue: PropTypes.any.isRequired, + setRichTextValue: PropTypes.any.isRequired, }; export default ConfirmReversalPopups; diff --git a/src/Pages/BankDepositRequest/BankDepositRequest.jsx b/src/Pages/BankDepositRequest/BankDepositRequest.jsx index cd47f28..bfd1f3e 100644 --- a/src/Pages/BankDepositRequest/BankDepositRequest.jsx +++ b/src/Pages/BankDepositRequest/BankDepositRequest.jsx @@ -29,6 +29,7 @@ import Pagination from "../../Components/Pagination"; import ConfirmModal from "./ConfirmModal"; import RejectModal from "./RejectModal"; import { + useApproveBankDepositRequestMutation, useGetBankDepositMasterQuery, useRejectbankDepositRequestMutation, } from "../../Services/bankdeposit.request.service"; @@ -71,6 +72,9 @@ const BankDepositRequest = () => { const [debouncedSearchTerm, setDebouncedSearchTerm] = useState(""); const [rejectbankDepositRequest] = useRejectbankDepositRequestMutation(); + + const [approveBankDepositRequest] = useApproveBankDepositRequestMutation(); + const [isReversalLoading, setIsReversalLoading] = useBoolean(); // Debounce the search term to avoid making a request on every keystroke @@ -178,7 +182,7 @@ const BankDepositRequest = () => { fontWeight={"500"} className="d-flex align-items-center web-text-small" > - {formatDate(item?.createdAt)} + {formatDate(item?.isReversalDate)} ), "Client ID": ( @@ -331,9 +335,10 @@ const BankDepositRequest = () => { }; const handleConfirm = async (data) => { + setIsReversalLoading.on(); // Start loading try { - const { error, data: responseData } = await rejectbankDepositRequest({ + const { error, data: responseData } = await approveBankDepositRequest({ id: actionId, data, }); @@ -367,7 +372,6 @@ const BankDepositRequest = () => { setIsReversalLoading.off(); // Ensure loading is toggled off } }; - return (