From fe9f7ac94e76e9056da7d2e3df762e8eb26adb6e Mon Sep 17 00:00:00 2001
From: YasinShaikh123 <123150391+YasinShaikh123@users.noreply.github.com>
Date: Tue, 30 Jul 2024 19:37:37 +0530
Subject: [PATCH] deposit modal
---
src/Components/DataTable/DataTable.jsx | 10 +-
.../{ => DepositRequest}/DepositRequest.jsx | 51 +++++--
.../DepositRequest/DepositRequestApprove.jsx | 128 ++++++++++++++++++
.../DepositRequest/DepositRequestReject.jsx | 99 ++++++++++++++
src/Routes/Routes.js | 3 +-
5 files changed, 268 insertions(+), 23 deletions(-)
rename src/Pages/Deposit/{ => DepositRequest}/DepositRequest.jsx (85%)
create mode 100644 src/Pages/Deposit/DepositRequest/DepositRequestApprove.jsx
create mode 100644 src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx
diff --git a/src/Components/DataTable/DataTable.jsx b/src/Components/DataTable/DataTable.jsx
index f7d0785..facf526 100644
--- a/src/Components/DataTable/DataTable.jsx
+++ b/src/Components/DataTable/DataTable.jsx
@@ -10,7 +10,6 @@ import {
Skeleton,
TableCaption,
Box,
- Text,
} from "@chakra-ui/react";
import { DragDropContext, Droppable, Draggable } from "react-beautiful-dnd";
import EmptySearchList from "../EmptySearchList";
@@ -29,8 +28,7 @@ const DataTable = ({
setMouseEntered,
setMouseEnteredId,
caption,
- isDraggable,
- capTitle
+ isDraggable
}) => {
const navigate = useNavigate();
const { slideFromRight } = useContext(GlobalStateContext);
@@ -64,7 +62,7 @@ const DataTable = ({
{(provided) => (
<>
- {/* */}
+ {/* {caption} */}
{caption}
@@ -147,10 +145,6 @@ const DataTable = ({
{provided.placeholder}
-
- {capTitle}
- {caption}
-
>
)}
diff --git a/src/Pages/Deposit/DepositRequest.jsx b/src/Pages/Deposit/DepositRequest/DepositRequest.jsx
similarity index 85%
rename from src/Pages/Deposit/DepositRequest.jsx
rename to src/Pages/Deposit/DepositRequest/DepositRequest.jsx
index 1fcdec6..a9a8d7e 100644
--- a/src/Pages/Deposit/DepositRequest.jsx
+++ b/src/Pages/Deposit/DepositRequest/DepositRequest.jsx
@@ -7,6 +7,7 @@ import {
Switch,
Text,
Tooltip,
+ useDisclosure,
useToast,
} from "@chakra-ui/react";
import React, { useContext, useEffect, useState } from "react";
@@ -21,13 +22,15 @@ import {
ViewIcon,
} from "@chakra-ui/icons";
// import { debounce } from "./AddInvestmentType";
-import { debounce } from "../Master/Sponser/AddSponser";
-import { OPACITY_ON_LOAD } from "../../Layout/animations";
-import Pagination from "../../Components/Pagination";
-import GlobalStateContext from "../../Contexts/GlobalStateContext";
-import CustomAlertDialog from "../../Components/CustomAlertDialog";
-import ToastBox from "../../Components/ToastBox";
-import DataTable from "../../Components/DataTable/DataTable";
+import { debounce } from "../../Master/Sponser/AddSponser";
+import { OPACITY_ON_LOAD } from "../../../Layout/animations";
+import Pagination from "../../../Components/Pagination";
+import GlobalStateContext from "../../../Contexts/GlobalStateContext";
+import CustomAlertDialog from "../../../Components/CustomAlertDialog";
+import ToastBox from "../../../Components/ToastBox";
+import DataTable from "../../../Components/DataTable/DataTable";
+import DepositRequestApprove from "./DepositRequestApprove";
+import DepositRequestReject from "./DepositRequestReject";
const formatDate = (date) => new Date(date).toLocaleDateString(); // Simple date formatter
@@ -42,6 +45,16 @@ const DepositRequest = () => {
const [actionId, setActionId] = useState(false);
const [mouseEntered, setMouseEntered] = useState(false);
const [mouseEnteredId, setMouseEnteredId] = useState("");
+ const {
+ isOpen: isConfirmOpen,
+ onOpen: onConfirmOpen,
+ onClose: onConfirmClose,
+ } = useDisclosure();
+ const {
+ isOpen: isRejectOpen,
+ onOpen: onRejectOpen,
+ onClose: onRejectClose,
+ } = useDisclosure();
useEffect(() => {
// Simulate loading
@@ -107,7 +120,7 @@ const DepositRequest = () => {
// id: item?.id,
"Sr.no": (
{
{index + 1}
),
- "Date": (
+ Date: (
{
),
"Client ID": (
{
),
"First Name": (
-
+
{item.firstName}
@@ -172,7 +185,9 @@ const DepositRequest = () => {
Currency: (
- {item.currency}
+
+ {item.currency}
+
),
@@ -223,8 +238,9 @@ const DepositRequest = () => {
fontWeight={500}
px={2}
py={1}
+ onClick={onConfirmOpen}
>
-
+
{
textTransform={"inherit"}
fontWeight={500}
px={2}
+ onClick={onRejectOpen}
py={1}
>
-
+
@@ -316,6 +333,12 @@ const DepositRequest = () => {
alertHandler={handleDelete}
isLoading={isLoading}
/>
+
+
);
};
diff --git a/src/Pages/Deposit/DepositRequest/DepositRequestApprove.jsx b/src/Pages/Deposit/DepositRequest/DepositRequestApprove.jsx
new file mode 100644
index 0000000..5aff06e
--- /dev/null
+++ b/src/Pages/Deposit/DepositRequest/DepositRequestApprove.jsx
@@ -0,0 +1,128 @@
+import {
+ Box,
+ Button,
+ FormControl,
+ FormLabel,
+ Input,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ Text,
+ useDisclosure,
+ } from "@chakra-ui/react";
+ import React from "react";
+ import * as yup from "yup";
+ import { yupResolver } from "@hookform/resolvers/yup";
+ import { useForm } from "react-hook-form";
+
+ export const conformModalSchema = yup.object().shape({
+ fees: yup.string().required("File name is required"),
+ totalAmount: yup.string().required("File name is required"),
+ });
+
+ const DepositRequestApprove = ({ isOpen, onClose, firstField }) => {
+ const {
+ register,
+ handleSubmit,
+ formState: { errors },
+ } = useForm({
+ resolver: yupResolver(conformModalSchema),
+ });
+
+ const onSubmit = (data) => {
+ setFile(data.document[0]);
+
+ const newDocument = {
+ ...data,
+ document: data.document[0].name, // Store the document name
+ status: true,
+ id: uuidv4(),
+ createdAt: new Date().toISOString(),
+ Type: getFileIcon(file.type),
+ };
+
+ setCreate((prevCreate) => [...prevCreate, newDocument]);
+ onClose();
+ };
+
+ const handleFileChange = (event) => {
+ const selectedFile = event.target.files[0];
+ setFile(selectedFile);
+ };
+
+ return (
+
+
+
+ Confirm
+
+
+
+
+ Deposit Amount
+
+
+
+ Fees
+
+ {errors.fees && (
+
+ {errors.fees.message}
+
+ )}
+
+
+ Total Amount
+
+ {errors.totalAmount && (
+
+ {errors.totalAmount.message}
+
+ )}
+
+
+
+
+
+
+
+
+
+ );
+ };
+
+ export default DepositRequestApprove;
+
\ No newline at end of file
diff --git a/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx b/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx
new file mode 100644
index 0000000..4320494
--- /dev/null
+++ b/src/Pages/Deposit/DepositRequest/DepositRequestReject.jsx
@@ -0,0 +1,99 @@
+import {
+ Box,
+ Button,
+ FormControl,
+ FormLabel,
+ Input,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ Text,
+ Textarea,
+ useDisclosure,
+ } from "@chakra-ui/react";
+ import React from "react";
+ import * as yup from "yup";
+ import { yupResolver } from "@hookform/resolvers/yup";
+ import { useForm } from "react-hook-form";
+
+ export const conformModalSchema = yup.object().shape({
+ comment: yup.string().required("Comment is required"),
+ });
+
+ const DepositRequestReject = ({ isOpen, onClose, firstField }) => {
+ const {
+ register,
+ handleSubmit,
+ formState: { errors },
+ } = useForm({
+ resolver: yupResolver(conformModalSchema),
+ });
+
+ const onSubmit = (data) => {
+ setFile(data.document[0]);
+
+ const newDocument = {
+ ...data,
+ document: data.document[0].name, // Store the document name
+ comment: true,
+ id: uuidv4(),
+ Type: getFileIcon(file.type),
+ };
+
+ setCreate((prevCreate) => [...prevCreate, newDocument]);
+ onClose();
+ };
+
+ const handleFileChange = (event) => {
+ const selectedFile = event.target.files[0];
+ setFile(selectedFile);
+ };
+
+ return (
+
+
+
+ Reject
+
+
+
+
+ Comment
+
+ {errors.comment && (
+
+ {errors.comment.message}
+
+ )}
+
+
+
+
+
+
+
+
+
+ );
+ };
+
+ export default DepositRequestReject;
+
\ No newline at end of file
diff --git a/src/Routes/Routes.js b/src/Routes/Routes.js
index 133ad99..05388bb 100644
--- a/src/Routes/Routes.js
+++ b/src/Routes/Routes.js
@@ -32,10 +32,11 @@ import Sponser from "../Pages/Master/Sponser/Sponsers";
import ViewSponser from "../Pages/Master/Sponser/ViewSponser";
import PendingRequest from "../Pages/WithDrawal/PendingRequest";
import ViewHistory from "../Pages/WithDrawal/DrawalView/ViewHistory";
-import DepositRequest from "../Pages/Deposit/DepositRequest";
+// import DepositRequest from "../Pages/Deposit/DepositRequest";
import DepositHistory from "../Pages/Deposit/DepositViewHistory/DepositHistory";
import Academy from "../Pages/Admin/ManageAcademy/Academy";
import InvestmentType from "../Pages/Master/InvestmentType/InvestmentType";
+import DepositRequest from "../Pages/Deposit/DepositRequest/DepositRequest";
export const RouteLink = [
// =============[ Tanami ]================