From 625f721325aaadbf2a3458a408e4e7d586026ccf Mon Sep 17 00:00:00 2001 From: YasinShaikh123 <123150391+YasinShaikh123@users.noreply.github.com> Date: Wed, 8 Jan 2025 13:16:44 +0530 Subject: [PATCH] correct exchange rate --- src/Layout/DefaultLayout.jsx | 2 +- .../InvestorDetails/InvestorDetails.jsx | 6 +-- .../Master/ExchangeRate/EditExchangeRate.jsx | 43 ++++++++++++------- 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/src/Layout/DefaultLayout.jsx b/src/Layout/DefaultLayout.jsx index 23044a7..56976ec 100644 --- a/src/Layout/DefaultLayout.jsx +++ b/src/Layout/DefaultLayout.jsx @@ -167,7 +167,7 @@ const DashboardLayout = ({ isOnline }) => { return ( - Echange rate + Exchange rate ); case path.startsWith("/create-io"): diff --git a/src/Pages/Investor_Management/InvestorDetails/InvestorDetails.jsx b/src/Pages/Investor_Management/InvestorDetails/InvestorDetails.jsx index d0f3683..8459cc3 100644 --- a/src/Pages/Investor_Management/InvestorDetails/InvestorDetails.jsx +++ b/src/Pages/Investor_Management/InvestorDetails/InvestorDetails.jsx @@ -221,7 +221,7 @@ const InvestorDetails = () => { variant={"solid"} > {/* {item.KYCStatus ? "Completed" : "Not complete"} */} - {item?.KYCStatus === true ? "Completed" : "NotCompleted"} + {item?.KYCStatus === true ? "Completed" : "Not Completed"} ), @@ -321,7 +321,7 @@ const InvestorDetails = () => { KYC Status - + @@ -337,7 +337,7 @@ const InvestorDetails = () => { Country - + diff --git a/src/Pages/Master/ExchangeRate/EditExchangeRate.jsx b/src/Pages/Master/ExchangeRate/EditExchangeRate.jsx index aaa7ac6..5ee8d30 100644 --- a/src/Pages/Master/ExchangeRate/EditExchangeRate.jsx +++ b/src/Pages/Master/ExchangeRate/EditExchangeRate.jsx @@ -48,14 +48,16 @@ import FullscreenLoaders from "../../../Components/Loaders/FullscreenLoaders"; const editExchange = yup.object().shape({ rate: yup - .number() + .string() .required("Rate is required") - .positive("Rate must be greater than 0") + .matches( + /^\d+\.\d{8}$/, + "Rate must have exactly 8 decimal places" + ) .test( - "is-decimal", - "Rate must have exactly 8 decimal places", - (value) => - value !== undefined && value.toString().match(/^\d+(\.\d{8})?$/) + "is-positive", + "Rate must be greater than 0", + (value) => parseFloat(value) > 0 ), }); @@ -86,7 +88,7 @@ const EditExchangeRate = ({ const [isBtnLoading, setIsBtnLoading] = useState(false); const [rateError, setRateError] = useState(""); - const { data, isLoading, errors,refetch } = useGetExchangeRateByIdQuery(id, { + const { data, isLoading, errors,refetch, isFetching } = useGetExchangeRateByIdQuery(id, { skip: !id, }); @@ -95,17 +97,23 @@ const EditExchangeRate = ({ const [rate, setRate] = useState(""); const [alert, setAlert] = useState(false); + console.log(rate); + + useEffect(() => { + if (id) {refetch()} if (foundObject) { - setRate(foundObject.rate); + const numericRate = parseFloat(foundObject.rate) || 0; // Convert to number or default to 0 if invalid + setRate(numericRate.toFixed(8)); // Set rate with exactly 8 decimal places } }, [foundObject, isOpen]); + - useEffect(()=>{ - if (id) { - refetch() - } - },[isOpen]) + // useEffect(()=>{ + // if (id) { + // refetch() + // } + // },[isOpen]) const validateRate = async () => { try { @@ -178,7 +186,7 @@ const EditExchangeRate = ({ Edit rate - {isLoading ? ( + {isFetching ? ( ) : ( <> @@ -228,8 +236,11 @@ const EditExchangeRate = ({ size={"sm"} value={rate} onChange={(e) => { - return setRate(e.target.value); - // validateRate() + const value = e.target.value; + // Match numbers with at most 8 decimal places + if (/^\d*\.?\d{0,8}$/.test(value)) { + setRate(value); + } }} /> {rateError && (