From f31b67f676caed969e41df5095a459a75bd81615 Mon Sep 17 00:00:00 2001 From: Swapnil Bendal <84583651+Swapnil155@users.noreply.github.com> Date: Mon, 20 Jan 2025 18:04:55 +0530 Subject: [PATCH 1/3] Enhance comment validation in deletion request approval and refactor code for clarity --- .../DeletionRequestApprove.jsx | 141 ++++++++++-------- .../WithDrawal/DrawalView/ViewHistory.jsx | 2 +- 2 files changed, 77 insertions(+), 66 deletions(-) diff --git a/src/Pages/AccountDeletion/DeletionRequestApprove.jsx b/src/Pages/AccountDeletion/DeletionRequestApprove.jsx index 1e72564..639ba94 100644 --- a/src/Pages/AccountDeletion/DeletionRequestApprove.jsx +++ b/src/Pages/AccountDeletion/DeletionRequestApprove.jsx @@ -21,32 +21,48 @@ import React, { useEffect, useState } from "react"; import * as yup from "yup"; import { yupResolver } from "@hookform/resolvers/yup"; import { useForm } from "react-hook-form"; -import { useGetDepositRequestByIdQuery, useGetDepositRequestQuery, useUpdateDepositRequestMutation } from "../../Services/deposit.request.service"; +import { + useGetDepositRequestByIdQuery, + useGetDepositRequestQuery, + useUpdateDepositRequestMutation, +} from "../../Services/deposit.request.service"; import FullscreenLoaders from "../../Components/Loaders/FullscreenLoaders"; import ToastBox from "../../Components/ToastBox"; import { useGetDrawalRequestQuery } from "../../Services/drawal.request.service"; -import { useApproveDepositRequestMutation, useGetDeleteRequestByIdQuery } from "../../Services/delete.request.service"; +import { + useApproveDepositRequestMutation, + useGetDeleteRequestByIdQuery, +} from "../../Services/delete.request.service"; const FILE_TYPES = ["image/jpeg", "image/png", "image/gif"]; export const conformModalSchema = yup.object().shape({ - adminComment: yup.string().notRequired(), + adminComment: yup + .string() + .min(2, "Comment contain at least 2 character") + .max(150, "Comment contain at less then 150 character") + .notRequired(), }); -const DeletionRequestApprove = ({ isOpen, onClose, firstField, id, data:requestData }) => { - const toast = useToast() +const DeletionRequestApprove = ({ + isOpen, + onClose, + firstField, + id, + data: requestData, +}) => { + const toast = useToast(); const [file, setFile] = useState(); - const [isBtnLoading , setIsBtnLoading] = useState(false) - const [isBtnLoadingReject , setIsBtnLoadingReject] = useState(false) - const [isReject , setIsReject] = useState(false) + const [isBtnLoading, setIsBtnLoading] = useState(false); + const [isBtnLoadingReject, setIsBtnLoadingReject] = useState(false); + const [isReject, setIsReject] = useState(false); - const fileredData = requestData?.find((item)=> item?.id === id) - const [ updateApproveRequest ] = useApproveDepositRequestMutation() - const { data, isLoading } = useGetDeleteRequestByIdQuery(id, { + const fileredData = requestData?.find((item) => item?.id === id); + const [updateApproveRequest] = useApproveDepositRequestMutation(); + const { data, isLoading } = useGetDeleteRequestByIdQuery(id, { skip: !id, }); - const { register, reset, @@ -58,51 +74,38 @@ const DeletionRequestApprove = ({ isOpen, onClose, firstField, id, data:requestD useEffect(() => { reset({ - comment:fileredData?.comment - }) - - - }, [requestData, id]) - - const onSubmit = async(data) => { - setIsBtnLoading(isReject?false:true) - setIsBtnLoadingReject(isReject) + comment: fileredData?.comment, + }); + }, [requestData, id]); + + const onSubmit = async (data) => { + setIsBtnLoading(isReject ? false : true); + setIsBtnLoadingReject(isReject); const approveReq = { - adminComment:data?.adminComment, - deletionStatus: isReject?"Reject": "Approved" - } + adminComment: data?.adminComment, + deletionStatus: isReject ? "Reject" : "Approved", + }; - try { - const res = await updateApproveRequest({ id ,data:approveReq }) - - - if (res?.error) { - toast({ - render: () => ( - - ), - }); - heandleOnClose() - }else if(res?.data?.statusCode === 200) { - toast({ - render: () => ( - - ), - }); - heandleOnClose() - } - - } catch (error) { - - } + try { + const res = await updateApproveRequest({ id, data: approveReq }); + if (res?.error) { + toast({ + render: () => ( + + ), + }); + heandleOnClose(); + } else if (res?.data?.statusCode === 200) { + toast({ + render: () => , + }); + heandleOnClose(); + } + } catch (error) {} }; - const onReject = () => { - - } - - + const onReject = () => {}; useEffect(() => { if (data) { @@ -112,16 +115,20 @@ const DeletionRequestApprove = ({ isOpen, onClose, firstField, id, data:requestD } }, [data, reset]); - const heandleOnClose = () =>{ - reset() - onClose() - setIsBtnLoading(false) - setIsReject(false) - setIsBtnLoadingReject(false) - } + const heandleOnClose = () => { + reset(); + onClose(); + setIsBtnLoading(false); + setIsReject(false); + setIsBtnLoadingReject(false); + }; return ( - + @@ -133,7 +140,10 @@ const DeletionRequestApprove = ({ isOpen, onClose, firstField, id, data:requestD - Investor Comment {fileredData?.currencyCode} + + Investor Comment{" "} + {fileredData?.currencyCode} + {/*