diff --git a/src/Layout/DefaultLayout.jsx b/src/Layout/DefaultLayout.jsx
index cf60667..843de6a 100644
--- a/src/Layout/DefaultLayout.jsx
+++ b/src/Layout/DefaultLayout.jsx
@@ -24,7 +24,7 @@ import {
Button,
Image,
Text,
- Tooltip
+ Tooltip,
} from "@chakra-ui/react";
import Cookies from "js-cookie"; // Import the Cookies library
import { GrManual } from "react-icons/gr";
@@ -32,6 +32,7 @@ import { HiOutlineChartSquareBar } from "react-icons/hi";
import { LuContact } from "react-icons/lu";
import { MdNotificationsNone, MdOutlineAddChart } from "react-icons/md";
import {
+ RiAccountBoxLine,
RiBankLine,
RiExchangeBoxLine,
RiFileUserLine,
@@ -41,7 +42,7 @@ import {
TbLayoutDashboard,
TbListDetails,
TbReportMoney,
- TbTransactionDollar
+ TbTransactionDollar,
} from "react-icons/tb";
import { VscSymbolClass } from "react-icons/vsc";
import {
@@ -64,6 +65,7 @@ import { nav } from "../Routes/Nav";
import { RouteLink } from "../Routes/Routes";
import { useProfileQuery } from "../Services/io.service";
import { useLogoutMutation } from "../Services/token.serivce";
+import { HiOutlineBanknotes } from "react-icons/hi2";
const DashboardLayout = ({ isOnline }) => {
const navigate = useNavigate();
@@ -141,19 +143,20 @@ const DashboardLayout = ({ isOnline }) => {
case "/":
return "👋🏻 Hi, Admin";
- case path.startsWith("/"):
- return (
-
- Dashboard
-
- );
+ // case path.startsWith("/"):
+ // return (z
+ //
+ // Dashboard
+ //
+ // );
case path.startsWith("/investment-opportunities"):
- return (
-
- dashboard / Open Opportunities
-
- );
+ return (
+
+
+ dashboard / Open Opportunities
+
+ );
case path.startsWith("/sponser"):
return (
@@ -294,6 +297,29 @@ const DashboardLayout = ({ isOnline }) => {
Deletion request
);
+
+ case path.startsWith("/bank-deposit-request"):
+ return (
+
+
+ Bank Deposit Request
+
+ );
+ case path.startsWith("/reversal-fawateer-deposit"):
+ return (
+
+
+ Fawateer Deposit
+
+ );
+ case path.startsWith("/account-deletion-request"):
+ return (
+
+
+ Account Deletion Request
+
+ );
+
case path.startsWith("/bank-investor"):
return (
@@ -312,7 +338,7 @@ const DashboardLayout = ({ isOnline }) => {
return (
- Push Notification
+ Push Notification
);
case path.startsWith("/contact"):
@@ -364,7 +390,7 @@ const DashboardLayout = ({ isOnline }) => {
Deletion request
);
- case path.startsWith("/subadmin"):
+ case path.startsWith("/subadmin"):
return (
@@ -530,12 +556,170 @@ const DashboardLayout = ({ isOnline }) => {
index={openIndex}
onChange={handleAccordionChange}
>
- {filteredNav.map(({ title, type, Icon, submenu, path }, index) => {
- if (type === "accordion") {
- return (
-
+ {filteredNav.map(
+ ({ title, type, Icon, submenu, path }, index) => {
+ if (type === "accordion") {
+ return (
+
+
+
+
+ {/* {Icon && title === "Admin" ? : } */}
+ {Icon && (
+
+ )}
+
+
+ {title}
+
+
+
+
+
+
+ {submenu?.map(
+ (
+ {
+ title: subMenuTitle,
+ path: link,
+ icon: SubIcon,
+ },
+ i
+ ) => (
+
+
+
+
+
+
+ {SubIcon && (
+
+ )}
+
+ {subMenuTitle === "Aprover Request"
+ ? data?.data?.role === "Maker"
+ ? "Create Request"
+ : "Aprover Request"
+ : subMenuTitle}
+
+
+
+
+ )
+ )}
+
+
+ );
+ } else if (type === "title") {
+ return (
+
+ {title}
+
+ );
+ } else if (type === "single") {
+ return (
{
placement="top-start"
color={"blue.800"}
>
-
- }
+
- {/* {Icon && title === "Admin" ? : } */}
- {Icon && (
-
- )}
-
-
- {title}
-
-
-
-
+ {title}
+
+
-
- {submenu?.map(
- (
- { title: subMenuTitle, path: link, icon: SubIcon },
- i
- ) => (
-
-
-
-
-
-
- {SubIcon && (
-
- )}
-
- {subMenuTitle === "Aprover Request"
- ? data?.data?.role === "Maker"
- ? "Create Request"
- : "Aprover Request"
- : subMenuTitle}
-
-
-
-
- )
- )}
-
-
- );
- } else if (type === "title") {
- return (
-
- {title}
-
- );
- } else if (type === "single") {
- return (
-
-
- {Icon && }
-
- {title}
-
-
-
- );
- } else {
- return null;
+ );
+ } else {
+ return null;
+ }
}
- })}
+ )}
diff --git a/src/Pages/BankDepositRequest/BankDepositRequest.jsx b/src/Pages/BankDepositRequest/BankDepositRequest.jsx
index f6b3c21..00524f4 100644
--- a/src/Pages/BankDepositRequest/BankDepositRequest.jsx
+++ b/src/Pages/BankDepositRequest/BankDepositRequest.jsx
@@ -27,6 +27,7 @@ import { useGetDepositHistoryQuery } from "../../Services/deposit.request.servic
import Pagination from "../../Components/Pagination";
import ConfirmModal from "./ConfirmModal";
import RejectModal from "./RejectModal";
+import { useGetBankDepositMasterQuery } from "../../Services/bankdeposit.request.service";
const formatDate = (date) => {
return new Date(date).toLocaleDateString("en-GB", {
@@ -78,7 +79,7 @@ const BankDepositRequest = () => {
error,
refetch,
isLoading: depositHistoryLoading,
- } = useGetDepositHistoryQuery(
+ } = useGetBankDepositMasterQuery(
{
page: debouncedSearchTerm ? undefined : currentPage, // Omit pagination for search
size: debouncedSearchTerm ? undefined : pageSize, // Omit pagination for search
@@ -103,10 +104,6 @@ const BankDepositRequest = () => {
"Last Name",
"Country",
"Phone Number",
- "Deposit Amount",
- "Deposit Date",
- "Status",
- "Supporting's",
"Action",
];
@@ -163,6 +160,18 @@ const BankDepositRequest = () => {
{generateSerialNumber(idx, currentPage, pageSize)}
),
+ "Request Date": (
+
+ {formatDate(item?.createdAt)}
+
+ ),
"Client ID": (
{
),
- "Deposit Amount": (
-
-
- {parseFloat(item?.investorAmount || 0).toLocaleString(undefined, {
- minimumFractionDigits: 2,
- maximumFractionDigits: 2,
- })}
-
- {item?.currencyCode}
-
-
-
- ),
- "Deposit Date": (
-
- {formatDate(item?.createdAt)}
-
- ),
- Status: (
-
-
- {item.transactionStatus}
-
-
- ),
- "Supporting's":
- item.transactionStatus === "Approved" ? (
-
- {/* {item?.supporting_FileName} */}
-
-
-
- View
-
-
-
- {/*
- View
- */}
-
-
- ) : (
- ""
- ),
Action: (
{
setFile(selectedFile);
};
+ const modules = {
+ toolbar: [
+ // [{ header: "1" }, { header: "2" },
+ // // { font: [] }
+ // ],
+ // [{ size: [] }],
+ ["bold", "italic", "underline", "strike", "blockquote"],
+ [{ list: "ordered" }, { list: "bullet" }],
+ ["clean"],
+ ],
+ };
+
return (
@@ -104,18 +117,17 @@ const ConfirmModal = ({ isOpen, onClose, firstField }) => {
size="sm"
/>
-
+
Message
-
}
diff --git a/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx b/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx
index 8a8ea29..8aead10 100644
--- a/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx
+++ b/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx
@@ -110,7 +110,7 @@ const DepositRequestReject = ({ isOpen, onClose, firstField ,id}) => {
Investor Comment
{isLoading ? (
-
+
) : (
diff --git a/src/Pages/Deposit/DepositViewHistory/DepositHistory.jsx b/src/Pages/Deposit/DepositViewHistory/DepositHistory.jsx
index aacde5d..56d2274 100644
--- a/src/Pages/Deposit/DepositViewHistory/DepositHistory.jsx
+++ b/src/Pages/Deposit/DepositViewHistory/DepositHistory.jsx
@@ -99,7 +99,7 @@ const DepositHistory = () => {
"Deposit Date",
"Status",
"Supporting's",
- "Reversal Action",
+ "Reversal"
];
const handleUpdateStatus = debounce((id) => {
@@ -299,6 +299,20 @@ const DepositHistory = () => {
)}
),
+ "Reversal": (
+
+
+ {item?.reversal === true ? "Initiate Reversal" : "Under Process"}
+
+
+ ),
}));
const handleDelete = () => {
diff --git a/src/Pages/EmailNotification/EmailNotification.jsx b/src/Pages/EmailNotification/EmailNotification.jsx
index 22d5c98..ad456ab 100644
--- a/src/Pages/EmailNotification/EmailNotification.jsx
+++ b/src/Pages/EmailNotification/EmailNotification.jsx
@@ -277,7 +277,7 @@ const EmailNotification = () => {
Create Custom body
- ({
@@ -269,6 +270,20 @@ import {
),
+ "Reversal": (
+
+
+ {item?.reversal === true ? "Initiate Reversal" : "Under Process"}
+
+
+ ),
}));
const handleDelete = () => {
diff --git a/src/Pages/ReversalAccountDeletion/ConfirmModal.jsx b/src/Pages/ReversalAccountDeletion/ConfirmModal.jsx
index 40bcbdd..64a4cf1 100644
--- a/src/Pages/ReversalAccountDeletion/ConfirmModal.jsx
+++ b/src/Pages/ReversalAccountDeletion/ConfirmModal.jsx
@@ -20,6 +20,7 @@ import React, { useState } from "react";
import * as yup from "yup";
import { yupResolver } from "@hookform/resolvers/yup";
import { useForm } from "react-hook-form";
+import ReactQuill from "react-quill";
export const conformModalSchema = yup.object().shape({
fees: yup.string().required("File name is required"),
@@ -59,6 +60,18 @@ const ConfirmModal = ({ isOpen, onClose, firstField }) => {
setFile(selectedFile);
};
+ const modules = {
+ toolbar: [
+ // [{ header: "1" }, { header: "2" },
+ // // { font: [] }
+ // ],
+ // [{ size: [] }],
+ ["bold", "italic", "underline", "strike", "blockquote"],
+ [{ list: "ordered" }, { list: "bullet" }],
+ ["clean"],
+ ],
+ };
+
return (
@@ -104,18 +117,17 @@ const ConfirmModal = ({ isOpen, onClose, firstField }) => {
size="sm"
/>
-
+
Message
-
}
diff --git a/src/Pages/ReversalAccountDeletion/ReversalAccountDeletion.jsx b/src/Pages/ReversalAccountDeletion/ReversalAccountDeletion.jsx
index 1feef60..955fa23 100644
--- a/src/Pages/ReversalAccountDeletion/ReversalAccountDeletion.jsx
+++ b/src/Pages/ReversalAccountDeletion/ReversalAccountDeletion.jsx
@@ -22,6 +22,7 @@ import {
import { TABLE_PAGINATION } from "../../Constants/Paginations";
import ConfirmModal from "./ConfirmModal";
import RejectModal from "./RejectModal";
+import { useGetAccountDeletionMasterQuery } from "../../Services/reversal.account.deletion.service";
// import { formatDate } from "../../Components/Functions/UTCConvertor";
const ReversalAccountDeletion = () => {
@@ -67,7 +68,7 @@ import RejectModal from "./RejectModal";
data: deleteHistory,
isLoading,
refetch
- } = useGetDeleteHistoryQuery({
+ } = useGetAccountDeletionMasterQuery({
page: debouncedSearchTerm ? undefined : currentPage, // Omit pagination for search
size: debouncedSearchTerm ? undefined : pageSize, // Omit pagination for search
search: debouncedSearchTerm,
@@ -93,12 +94,12 @@ import RejectModal from "./RejectModal";
// ====================================================[Table Setup]================================================================
const tableHeadRow = [
"Sr No.",
- "Request On",
+ "Request Date",
"Client ID",
"First Name",
"Last Name",
- "Country",
"Phone Number",
+ "Country",
"Action"
];
@@ -115,7 +116,7 @@ import RejectModal from "./RejectModal";
{index + 1}.
),
- "Request On": (
+ "Request Date": (
),
- "Country": (
-
- {item.country}
-
- ),
"Phone Number": (
),
+ "Country": (
+
+ {item.country}
+
+ ),
"Action": (
{
const handleFileChange = (event) => {
const selectedFile = event.target.files[0];
setFile(selectedFile);
- };
+ };
+
+ const modules = {
+ toolbar: [
+ // [{ header: "1" }, { header: "2" },
+ // // { font: [] }
+ // ],
+ // [{ size: [] }],
+ ["bold", "italic", "underline", "strike", "blockquote"],
+ [{ list: "ordered" }, { list: "bullet" }],
+ ["clean"],
+ ],
+ };
return (
@@ -104,18 +117,17 @@ const ConfirmModal = ({ isOpen, onClose, firstField }) => {
size="sm"
/>
-
+
Message
-
}
diff --git a/src/Pages/ReversalFawateerDeposit/ReversalFawateerDeposit.jsx b/src/Pages/ReversalFawateerDeposit/ReversalFawateerDeposit.jsx
index 7d7b244..bf1376e 100644
--- a/src/Pages/ReversalFawateerDeposit/ReversalFawateerDeposit.jsx
+++ b/src/Pages/ReversalFawateerDeposit/ReversalFawateerDeposit.jsx
@@ -25,6 +25,7 @@ import { OPACITY_ON_LOAD } from "../../Layout/animations";
import { useGetFawateerForMakerRequestQuery } from "../../Services/fawateer.request.service";
import ConfirmModal from "./ConfirmModal";
import RejectModal from "./RejectModal";
+import { useGetFawateerDepositMasterQuery } from "../../Services/reversal.fawateer.deposit.service";
const ReversalFawateerDeposit = () => {
const toast = useToast();
@@ -65,7 +66,7 @@ import RejectModal from "./RejectModal";
isLoading: drawalRequestLoading,
error,
refetch
- } = useGetFawateerForMakerRequestQuery(
+ } = useGetFawateerDepositMasterQuery(
{
page: debouncedSearchTerm ? undefined : currentPage, // Omit pagination for search
size: debouncedSearchTerm ? undefined : pageSize, // Omit pagination for search
@@ -124,14 +125,12 @@ import RejectModal from "./RejectModal";
// ====================================================[Table Setup]================================================================
const tableHeadRow = [
"Sr.no",
+ "Request Date",
"Client ID",
"First Name",
"Last Name",
- "E-mail ID",
"Phone Number",
- "Deposit Date",
- "Deposit Amount (BHD)",
- "Support Image",
+ "Country",
"Action",
];
@@ -150,6 +149,18 @@ import RejectModal from "./RejectModal";
{generateSerialNumber(idx, currentPage, pageSize)}
),
+ "Request Date": (
+
+ {formatDate(item?.createdAt)}
+
+ ),
"Client ID": (
),
- "E-mail ID": (
-
+ "Country": (
+
- {item.emailAddress}
+ {item.lastName}
),
@@ -190,61 +201,6 @@ import RejectModal from "./RejectModal";
),
- "Deposit Date": (
-
-
- {formatDate(item?.transaction_date)}
-
-
- ),
- "Deposit Amount (BHD)": (
-
-
- {/* {item.investorAmount} */}
- {parseFloat(item?.transaction_amount || 0).toLocaleString(undefined, {
- minimumFractionDigits: 2,
- maximumFractionDigits: 2,
- })}
- {/* {item?.transaction_amount} */}
-
-
- ),
- "Support Image": (
-
- {item?.spportFile_path&&
-
-
- View
-
-
-
- }
-
- ),
Action: (
({
+ // ======[Get All]=====
+
+ getBankDepositMaster: builder.query({
+ query: () => `/reversal-transactions/bank-transfer/getAll`,
+ providesTags: ["getBankDeposit"],
+ }),
+
+
+ depositReject: builder.mutation({
+ query: ({ id, data }) => ({
+ url: `/deposit/admin/rejected/${id}`,
+ method: "PATCH",
+ body: data,
+ }),
+ invalidatesTags: ["getDepositRequest", "getDepositHistory"],
+ }),
+
+
+ }),
+});
+
+export const {
+ useGetBankDepositMasterQuery,
+ useDepositRejectMutation,
+ } = bankDepositRequestMaster;
diff --git a/src/Services/deposit.request.service.js b/src/Services/deposit.request.service.js
index 1a8ccd2..29cc421 100644
--- a/src/Services/deposit.request.service.js
+++ b/src/Services/deposit.request.service.js
@@ -88,7 +88,7 @@ export const depositRequest = createApi({
// Export hooks for usage in functional components
export const {
useGetDepositRequestQuery,
- useGetDepositRequestByIdQuery,
+ useGetDepositRequestByIdQuery,
useUpdateDepositRequestMutation,
useDepositRejectMutation,
useGetDepositHistoryQuery,
diff --git a/src/Services/reversal.account.deletion.service.js b/src/Services/reversal.account.deletion.service.js
new file mode 100644
index 0000000..068150e
--- /dev/null
+++ b/src/Services/reversal.account.deletion.service.js
@@ -0,0 +1,22 @@
+// Need to use the React-specific entry point to import createApi
+import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
+import { baseQuery } from "./token.serivce";
+
+// Define a service using a base URL and expected endpoints
+export const reversalAccountDeletionMaster = createApi({
+ reducerPath: "accountDeletion",
+ baseQuery: baseQuery,
+ tagTypes: ["getAccountDeletion"],
+ endpoints: (builder) => ({
+ // ======[Get All]=====
+
+ getAccountDeletionMaster: builder.query({
+ query: () => `/reversal-transactions/account-deletion/getAll`,
+ providesTags: ["getAccountDeletion"],
+ }),
+ }),
+});
+
+export const {
+ useGetAccountDeletionMasterQuery,
+ } = reversalAccountDeletionMaster;
diff --git a/src/Services/reversal.fawateer.deposit.service.js b/src/Services/reversal.fawateer.deposit.service.js
new file mode 100644
index 0000000..6b25bfd
--- /dev/null
+++ b/src/Services/reversal.fawateer.deposit.service.js
@@ -0,0 +1,22 @@
+// Need to use the React-specific entry point to import createApi
+import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
+import { baseQuery } from "./token.serivce";
+
+// Define a service using a base URL and expected endpoints
+export const reversalFawateerDepositMaster = createApi({
+ reducerPath: "FawateerDeposit",
+ baseQuery: baseQuery,
+ tagTypes: ["getFawateerDeposit"],
+ endpoints: (builder) => ({
+ // ======[Get All]=====
+
+ getFawateerDepositMaster: builder.query({
+ query: () => `/reversal-transactions/bank-transfer/getAll`,
+ providesTags: ["getFawateerDeposit"],
+ }),
+ }),
+});
+
+export const {
+ useGetFawateerDepositMasterQuery,
+ } = reversalFawateerDepositMaster;
diff --git a/src/Store/Store.js b/src/Store/Store.js
index f3a101c..c6c2a58 100644
--- a/src/Store/Store.js
+++ b/src/Store/Store.js
@@ -21,6 +21,9 @@ import { sabAdminMaster } from "../Services/subadmin.service";
import { changePasswordMake } from "../Services/change.password.service";
import { forgetPasswordMake } from "../Services/forget.password.service";
import { dashboardMaster } from "../Services/dashboard.service";
+import { bankDepositRequestMaster } from "../Services/bankdeposit.request.service";
+import { reversalFawateerDepositMaster } from "../Services/reversal.fawateer.deposit.service";
+import { reversalAccountDeletionMaster } from "../Services/reversal.account.deletion.service";
export const store = configureStore({
reducer: {
@@ -43,6 +46,9 @@ export const store = configureStore({
[changePasswordMake.reducerPath]: changePasswordMake.reducer,
[forgetPasswordMake.reducerPath]: forgetPasswordMake.reducer,
[dashboardMaster.reducerPath]: dashboardMaster.reducer,
+ [bankDepositRequestMaster.reducerPath]: bankDepositRequestMaster.reducer,
+ [reversalFawateerDepositMaster.reducerPath]: reversalFawateerDepositMaster.reducer,
+ [reversalAccountDeletionMaster.reducerPath]: reversalAccountDeletionMaster.reducer,
// Add other reducers as needed
},
@@ -71,6 +77,9 @@ export const store = configureStore({
changePasswordMake.middleware,
forgetPasswordMake.middleware,
dashboardMaster.middleware,
+ bankDepositRequestMaster.middleware,
+ reversalFawateerDepositMaster.middleware,
+ reversalAccountDeletionMaster.middleware,
),
});