From 2e27bc477681e84501e46dfedd2603f8172a2db6 Mon Sep 17 00:00:00 2001 From: "nabanita.jana" Date: Fri, 8 Aug 2025 17:19:17 +0530 Subject: [PATCH] addbeneficiary page implementation --- .../add_beneficiary/addBeneficiaryOthers.tsx | 101 ++++++++++-------- 1 file changed, 57 insertions(+), 44 deletions(-) diff --git a/src/app/(main)/funds_transfer/add_beneficiary/addBeneficiaryOthers.tsx b/src/app/(main)/funds_transfer/add_beneficiary/addBeneficiaryOthers.tsx index c014506..5dd2c17 100644 --- a/src/app/(main)/funds_transfer/add_beneficiary/addBeneficiaryOthers.tsx +++ b/src/app/(main)/funds_transfer/add_beneficiary/addBeneficiaryOthers.tsx @@ -15,29 +15,6 @@ import { } from '@mantine/core'; import { notifications } from '@mantine/notifications'; -type IfscDataType = { - [key: string]: { - bank: string; - branch: string; - }; -}; - -const mockIfscData: IfscDataType = { - - 'SBIN0004567': { - 'bank': 'State Bank of India', - 'branch': 'Connaught Place', - }, - 'ICIC0007347': { - 'bank': 'ICICI', - 'branch': 'Ghatal', - }, - 'ICIC0001608': { - 'bank': 'ICICI', - 'branch': 'ICICI Bank Ltd.,Serampore' - }, -}; - const MockOthersAccountValidation = [ { @@ -77,16 +54,48 @@ const AddBeneficiaryOthers: React.FC = () => { const getFullMaskedAccount = (acc: string) => { return "X".repeat(acc.length); }; + useEffect(() => { const ifscTrimmed = ifsccode.trim(); - const match = mockIfscData[ifscTrimmed]; - if (match && match.bank.toLowerCase() === bankName.trim().toLowerCase()) { - setBranchName(match.branch); - } else { - setBranchName("No result found"); + if (ifscTrimmed.length === 11) { // Only call API when IFSC is valid length + const fetchIfscDetails = async () => { + try { + const token = localStorage.getItem("access_token"); + const response = await fetch( + `http://localhost:8080/api/beneficiary/ifsc-details?ifscCode=${ifscTrimmed}`, + { + method: "GET", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${token}`, + }, + } + ); + + if (!response.ok) { + throw new Error("Failed to fetch IFSC details"); + } + + const data = await response.json(); + + if (data && data.bank_name && data.branch_name) { + setBankName(data.bank_name); + setBranchName(data.branch_name); + } else { + setBranchName("No result found"); + setBankName(""); + } + } catch (error) { + console.error("Error fetching IFSC details:", error); + setBranchName("No result found"); + setBankName(""); + } + }; + + fetchIfscDetails(); } - }, [bankName, ifsccode]); + }, [ifsccode]); const handleGenerateOtp = async () => { const value = "123456"; // Or generate a random OTP @@ -264,18 +273,6 @@ const AddBeneficiaryOthers: React.FC = () => { return ( - - { - let val = e.currentTarget.value.replace(/[^A-Za-z ]/g, ""); - setBankName(val.slice(0, 100)); - }} - required - /> - { /> + + { + let val = e.currentTarget.value.replace(/[^A-Za-z ]/g, ""); + setBankName(val.slice(0, 100)); + }} + required + /> + + + + { // disabled={isVisibilityLocked} readOnly={isVisibilityLocked} required - onCopy={(e) => e.preventDefault()} - onPaste={(e) => e.preventDefault()} - onCut={(e) => e.preventDefault()} + onCopy={(e) => e.preventDefault()} + onPaste={(e) => e.preventDefault()} + onCut={(e) => e.preventDefault()} /> {validationStatus === "error" && (