diff --git a/src/Pages/Investor_Management/InvestorDetails/BankDetails.jsx b/src/Pages/Investor_Management/InvestorDetails/BankDetails.jsx
index e69de29..87daa53 100644
--- a/src/Pages/Investor_Management/InvestorDetails/BankDetails.jsx
+++ b/src/Pages/Investor_Management/InvestorDetails/BankDetails.jsx
@@ -0,0 +1,244 @@
+import {
+ Badge,
+ Box,
+ Button,
+ HStack,
+ Input,
+ Text,
+ Tooltip,
+ useToast,
+} from "@chakra-ui/react";
+import React, { useContext, useEffect, useState } from "react";
+import { OPACITY_ON_LOAD } from "../../../Layout/animations";
+import {
+ Link,
+ Link as RouterLink,
+ useNavigate,
+ useParams,
+} from "react-router-dom";
+import { AddIcon, DeleteIcon, EditIcon, ViewIcon } from "@chakra-ui/icons";
+import Pagination from "../../../Components/Pagination";
+import GlobalStateContext from "../../../Contexts/GlobalStateContext";
+import CustomAlertDialog from "../../../Components/CustomAlertDialog";
+import NormalTable from "../../../Components/DataTable/NormalTable";
+import {
+ useDeleteInvestmentTypeMutation,
+ useGetInvestmentTypesQuery,
+} from "../../../Services/io.service";
+import { TABLE_PAGINATION } from "../../../Constants/Paginations";
+import { generateSerialNumber } from "../../../Constants/Constants";
+import { useGetInvestorsDetailsByIdQuery } from "../../../Services/investor.details.service";
+
+const formatDate = (date) => new Date(date).toLocaleDateString(); // Simple date formatter
+
+const BankDetails = () => {
+ const params = useParams();
+ const id = params?.id;
+ const navigate = useNavigate();
+ const toast = useToast();
+
+ // ======================== [Use State] =========================
+
+ const [searchTerm, setSearchTerm] = useState("");
+ // const [isLoading, setIsLoading] = useState(false);
+ const [deleteAlert, setDeleteAlert] = useState(false);
+ const [actionId, setActionId] = useState(false);
+ const { investmentType, setInvestmentType, slideFromRight } =
+ useContext(GlobalStateContext);
+
+ const [deleteInvestmentType] = useDeleteInvestmentTypeMutation();
+
+ // =========================== [Use State] =============================
+ const [pageSize, setPageSize] = useState(TABLE_PAGINATION?.size);
+ const [currentPage, setCurrentPage] = useState(TABLE_PAGINATION?.page);
+
+ // const {
+ // data: investmentTypes,
+ // isLoading: investmentTypesLoading,
+ // error,
+ // } = useGetInvestmentTypesQuery({ page: currentPage, size: pageSize });
+ const { data, isLoading:bankDetailsLoading, errors, refetch } = useGetInvestorsDetailsByIdQuery(
+ id,
+ {
+ skip: !id,
+ }
+ );
+
+ console.log(data?.data?.bank_details);
+
+ const filteredData = data?.data?.bank_details?.filter((item) => {
+ const name = item.accountNumber;
+ const searchLower = searchTerm.toLowerCase();
+ const nameMatches = name.toLowerCase().includes(searchLower);
+
+ return nameMatches;
+ });
+
+ // ==================================================== [Table Setup] ================================================================
+
+ const tableHeadRow = [
+ "Sr No",
+ "bankNickName",
+ "IBAN",
+ "Account No",
+ "Bank Name",
+ "Account Name",
+ "Bank Address",
+ "SWIFT Code",
+ ];
+
+ const extractedArray = filteredData?.map((item, idx) => ({
+ "Sr No": (
+
+ {/* {item.id} */}
+ {generateSerialNumber(idx, currentPage, pageSize)}
+
+ ),
+ "bankNickName": (
+
+ {item.bankNickName}
+
+ ),
+ IBAN: (
+
+ {item.IBANnumber}
+
+ ),
+ "Account No": (
+
+ {item.accountName}
+
+ ),
+ "Bank Name": (
+
+ {item.bankName}
+
+ ),
+ "Account Name": (
+
+ {item.accountNumber}
+
+ ),
+ "Bank Address": (
+
+ {item.bankAddress}
+
+ ),
+ "SWIFT Code": (
+
+ {item.swiftCode}
+
+ ),
+ }));
+
+ // ==================== [Delete Function] =======================
+
+ const handleDelete = async () => {
+ console.log(actionId);
+ setIsLoading(true);
+ try {
+ const response = await deleteInvestmentType(actionId);
+ console.log(response);
+ setIsLoading(false);
+ setDeleteAlert(false);
+ } catch (error) {}
+ };
+
+ return (
+
+
+
+ {/* ======================= [Search Input] ======================== */}
+
+ setSearchTerm(e.target.value)}
+ />
+
+
+
+ {/* ======================== [Data Table] ======================= */}
+
+
+
+ );
+};
+
+export default BankDetails;
diff --git a/src/Pages/Investor_Management/InvestorDetails/ProfileView.jsx b/src/Pages/Investor_Management/InvestorDetails/ProfileView.jsx
index 160e087..3d264a6 100644
--- a/src/Pages/Investor_Management/InvestorDetails/ProfileView.jsx
+++ b/src/Pages/Investor_Management/InvestorDetails/ProfileView.jsx
@@ -21,6 +21,7 @@ import { LuWallet } from "react-icons/lu";
import Transaction from "./Transaction";
import FullscreenLoaders from "../../../Components/Loaders/FullscreenLoaders";
import { useGetInvestorsDetailsByIdQuery } from "../../../Services/investor.details.service";
+import BankDetails from "./BankDetails";
const ProfileView = () => {
const navigate = useNavigate();
@@ -152,54 +153,54 @@ const ProfileView = () => {
section: "Personal Details",
width: "32%",
},
- {
- label: "Account Name",
- value: foundObject?.accountName,
- type: "text",
- isRequired: true,
- section: "Bank Details",
- width: "32%",
- },
- {
- label: "Account No",
- value: foundObject?.accountNumber,
- type: "text",
- isRequired: true,
- section: "Bank Details",
- width: "32%",
- },
- {
- label: "IBAN",
- value: foundObject?.IBANnumber,
- type: "text",
- isRequired: true,
- section: "Bank Details",
- width: "32%",
- },
- {
- label: "SWIFT Code",
- value: foundObject?.swiftCode,
- type: "text",
- isRequired: true,
- section: "Bank Details",
- width: "32%",
- },
- {
- label: "Bank Name",
- value: foundObject?.bankName,
- type: "text",
- isRequired: true,
- section: "Bank Details",
- width: "32%",
- },
- {
- label: "Bank Address",
- value: foundObject?.bankAddress,
- type: "text",
- isRequired: true,
- section: "Bank Details",
- width: "32%",
- },
+ // {
+ // label: "Account Name",
+ // value: foundObject?.accountName,
+ // type: "text",
+ // isRequired: true,
+ // section: "Bank Details",
+ // width: "32%",
+ // },
+ // {
+ // label: "Account No",
+ // value: foundObject?.accountNumber,
+ // type: "text",
+ // isRequired: true,
+ // section: "Bank Details",
+ // width: "32%",
+ // },
+ // {
+ // label: "IBAN",
+ // value: foundObject?.IBANnumber,
+ // type: "text",
+ // isRequired: true,
+ // section: "Bank Details",
+ // width: "32%",
+ // },
+ // {
+ // label: "SWIFT Code",
+ // value: foundObject?.swiftCode,
+ // type: "text",
+ // isRequired: true,
+ // section: "Bank Details",
+ // width: "32%",
+ // },
+ // {
+ // label: "Bank Name",
+ // value: foundObject?.bankName,
+ // type: "text",
+ // isRequired: true,
+ // section: "Bank Details",
+ // width: "32%",
+ // },
+ // {
+ // label: "Bank Address",
+ // value: foundObject?.bankAddress,
+ // type: "text",
+ // isRequired: true,
+ // section: "Bank Details",
+ // width: "32%",
+ // },
];
const groupedFields = formFields.reduce((groups, field) => {
@@ -335,6 +336,7 @@ const ProfileView = () => {
+