diff --git a/src/App.jsx b/src/App.jsx index 4d91105..01a8b99 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -57,7 +57,7 @@ const App = () => { } /> - } /> + } /> } /> } /> } /> diff --git a/src/Components/Buttons/PrimaryButton.jsx b/src/Components/Buttons/PrimaryButton.jsx index 796bc16..be45340 100644 --- a/src/Components/Buttons/PrimaryButton.jsx +++ b/src/Components/Buttons/PrimaryButton.jsx @@ -22,6 +22,7 @@ const PrimaryButton = ({title, onClick, ...props}) => { // bgGradient: "linear(to-r, #5E0FCD, #3725EA)", opacity: 1, }} + onClick={onClick} >{title} ) diff --git a/src/Components/DataTable/NormalTable.jsx b/src/Components/DataTable/NormalTable.jsx index c658411..748b4c1 100644 --- a/src/Components/DataTable/NormalTable.jsx +++ b/src/Components/DataTable/NormalTable.jsx @@ -96,7 +96,10 @@ const NormalTable = ({ ) ) : data?.map((item, index) => ( - + {tableHeadRow.map((heading, i) => ( { return ( - {status === "error" || status === "warn" ? : status === "info" ? : } + {status === "error" || status === "warn" ? : } {message} ); diff --git a/src/Pages/Login/ForgotPassword..jsx b/src/Pages/Login/ForgotPassword..jsx index 1e987c6..9480455 100644 --- a/src/Pages/Login/ForgotPassword..jsx +++ b/src/Pages/Login/ForgotPassword..jsx @@ -8,8 +8,8 @@ import { yupResolver } from "@hookform/resolvers/yup"; import { useForm } from "react-hook-form"; import { TiWarning } from "react-icons/ti"; import Loader01 from "../../Components/Loaders/Loader01"; -import Asset1 from "../../assets/loginpat.png"; -import logo from "../../assets/optifii_white.svg"; +import Asset1 from "../../assets/pattern_white.png"; +import logo from "../../assets/Whitelogo.svg"; import { Box, Button, @@ -261,9 +261,9 @@ const ForgotPassword = () => { bg-img { bg-img { - const params = useParams() + const params = useParams(); const [show, setShow] = useState(false); const handleClick = () => setShow(!show); const { isAuthenticate, setIsAuthenticate } = useContext(GlobalStateContext); @@ -52,84 +53,111 @@ const OtpScreen = () => { setPin(value); }; - console.log(pin); - const [isLoading, setIsLoading] = useState(false); const navigate = useNavigate(); const dispatch = useDispatch(); const [resendPassword] = useResendOtpMutation(); + const [sendOtp] = useSetOtpMutation(); + + // useEffect(() => { + // if (isAuthenticate) { + // navigate("/sponser"); + // } + // }, [navigate, isAuthenticate]); - useEffect(() => { - if (isAuthenticate) { - navigate("/sponser"); - } - }, [navigate, isAuthenticate]); - const onSubmit = async (e) => { e.preventDefault(); setIsLoading(true); - + + const data = { + otp: pin, + }; + if (params?.id) { - // 3-second delay before navigating to "/reset-password" - setTimeout(() => { - navigate("/reset-password"); - setIsLoading(false); - }, 3000); + + try { + const res = await sendOtp(data); + console.log(res?.error?.data?.message); + + if (res?.statusCode === 200) { + toast({ + render: () => ( + + ), + }); + navigate("/reset-password"); + setIsLoading(false); + } else if (res?.error) { + toast({ + render: () => ( + + ), + }); + setIsLoading(false); + } + } catch (error) {console.log(error);} + } else { - // 3-second delay before setting authentication, setting cookies, and navigating - setTimeout(() => { - setIsAuthenticate(true); - setIsLoading(false); - Cookies.set("isAuthenticated", true, { expires: 7 }); - navigate("/"); - reset(); - }, 3000); + try { + const res = await sendOtp(data); + console.log(res); + + if (res?.data?.statusCode === 200) { + console.log("it"); + toast({ + render: () => ( + + ), + }); + + setIsAuthenticate(true); + setIsLoading(false); + Cookies.set("isAuthenticated", true, { expires: 7 }); + navigate("/"); + } else if (res?.error) { + toast({ + render: () => ( + + ), + }); + setIsLoading(false); + } + } catch (error) {console.log(error);} + } }; - const handleResendOtp = async () => { - - - - - - try { - const res = await resendPassword().unwrap(); - console.log(res); - if (res?.statusCode === 200) { - toast({ - render: () => ( - - ), - }) - - }else if(res?.error){ - toast({ - render: () => ( - - ), - }) + try { + const res = await resendPassword().unwrap(); + console.log(res); + if (res?.statusCode === 200) { + toast({ + render: () => , + }); + } else if (res?.error) { + toast({ + render: () => ( + + ), + }); + } + } catch (err) { + if (err) { + toast({ + render: () => ( + + ), + }); + setIsLoading(false); + } } - } catch (err) { - if (err) { - toast({ - render: () => ( - - ), - }); - setIsLoading(false); - } - } - - } - - - - - + }; return ( { - { size="md" type="alphanumeric" mask - > - - - - - + + + + + - - - + {/* Resend Otp */} - Resend Otp + + Resend Otp + @@ -237,12 +269,13 @@ const OtpScreen = () => { + bg-img { bg-img { + switch (status) { + case 1: + return { bg: "blue.100", text: "blue.700", label: "Requested" }; + case 2: + return { bg: "yellow.100", text: "yellow.700", label: "Submitted" }; + case 3: + return { bg: "purple.100", text: "purple.700", label: "Registered" }; + case 4: + return { bg: "green.100", text: "green.700", label: "Approved" }; + case 5: + return { bg: "red.100", text: "red.700", label: "Rejected" }; + default: + return { bg: "gray.100", text: "gray.700", label: "Unknown" }; + } +}; const RegisteredCorporate = () => { + const navigate = useNavigate(); const { corpData } = useContext(GlobalStateContext); - const [isLoading, setIsLoading] = useState(false); const [selectedRadio, setSelectedRadio] = useState(""); - const { isOpen, onOpen, onClose } = useDisclosure() + const { isOpen, onOpen, onClose } = useDisclosure(); - // Simulate loading effect + const [searchTerm, setSearchTerm] = useState(""); + const [debouncedSearchTerm, setDebouncedSearchTerm] = useState(""); + + // Debounce the search term to avoid making a request on every keystroke useEffect(() => { - setIsLoading(true); - const timer = setTimeout(() => setIsLoading(false), 500); - return () => clearTimeout(timer); - }, []); + const handler = setTimeout(() => { + setDebouncedSearchTerm(searchTerm); + }, 500); // Adjust delay as needed + return () => { + clearTimeout(handler); + }; + }, [searchTerm]); - console.log(corpData); + // Modify the skip condition to always call the API initially + const { data, isLoading } = useGetAllCorpQuery(debouncedSearchTerm, { + skip: debouncedSearchTerm === "" && searchTerm !== "", // Skip only if searchTerm has been cleared after a previous search + }); + + console.log(data?.data?.rows); // Table headers const tableHeadRow = [ @@ -38,11 +82,10 @@ const RegisteredCorporate = () => { "Industry", "Type", "Subscription", - "Status" - + "Status", ]; // Extracted data for table - const extractedArray = corpData?.map((item, index) => ({ + const extractedArray = data?.data?.rows?.map((item, index) => ({ "Corp Id": ( { fontSize={"xs"} gap={2} alignItems={"center"} + cursor={"pointer"} + onClick={() => navigate("/register-corporates/view-corporates")} > - {item.CorpId} + {item?.corporate_code} ), - "Company Name": - ( - {item.CompanyName} - ), + {item?.corporate_name} + + ), "Date Of Onboarding": ( - {item.DateOfOnbaording} + {item?.onboarding_date? item?.onboarding_date:"---"} ), // "Email Address": ( @@ -108,52 +154,120 @@ const RegisteredCorporate = () => { // ), "Email Address": ( - {item.EmailAddress} + {item?.emailAddress} ), - "Industry": ( + Industry: ( - {item.Industry} + {item.industry_name? item?.industry_name:"---"} ), - "Type": ( - - {item.Type} - + Type: {item?.corporate_type?item?.corporate_type:"---"}, + + Subscription: ( + + {item?.opted_for_expence && ( + + Expence + + )} + {item?.opted_for_benefit && ( + + Benefits + + )} + + {item?.opted_for_gifting && ( + + Gifting + + )} + +{!item?.opted_for_gifting && !item?.opted_for_gifting && !item?.opted_for_gifting && ( + + --- + +)} + + ), - "Subscription": ( - - {item.Subscription} - - ), - - "Status": ( - - - {item.Status} - + Status: ( + + + + + {item?.corporate_status} + + ), - })); return ( - - - Corporates + + + + Corporates + @@ -163,18 +277,18 @@ const RegisteredCorporate = () => { type="search" placeholder="Search..." rounded="md" - bg={'gray.100'} - border={'none'} - // value={searchTerm} - // onChange={(e) => setSearchTerm(e.target.value)} + bg={"gray.100"} + border={"none"} + value={searchTerm} + onChange={(e) => setSearchTerm(e.target.value)} /> } + size={"sm"} + leftIcon={} /> {/* Modal is triggered on button click */} diff --git a/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModal.jsx b/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModal.jsx index c706814..7615236 100644 --- a/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModal.jsx +++ b/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModal.jsx @@ -1,88 +1,228 @@ -import { Box, Modal, ModalOverlay, ModalContent, ModalHeader, ModalFooter, ModalBody, ModalCloseButton, Button, Input, Text, HStack } from '@chakra-ui/react' -import React, { useState } from 'react' -import PrimaryButton from '../../Components/Buttons/PrimaryButton' -import SecondaryButton from '../../Components/Buttons/SecondaryButton' -import RegisteredCorporateAddNewModalSuccessModal from './RegisteredCorporateAddNewModalSuccessModal' +import React, { useState } from "react"; +import { + Box, + Modal, + ModalOverlay, + ModalContent, + ModalHeader, + ModalFooter, + ModalBody, + ModalCloseButton, + Button, + Input, + Text, + HStack, + FormControl, + FormLabel, + FormErrorMessage, + useToast, +} from "@chakra-ui/react"; +import { useForm } from "react-hook-form"; +import { yupResolver } from "@hookform/resolvers/yup"; +import * as Yup from "yup"; +import PrimaryButton from "../../Components/Buttons/PrimaryButton"; +import SecondaryButton from "../../Components/Buttons/SecondaryButton"; +import RegisteredCorporateAddNewModalSuccessModal from "./RegisteredCorporateAddNewModalSuccessModal"; import PhoneInput from "react-phone-input-2"; import "react-phone-input-2/lib/style.css"; +import { useCorporateQuickAddMutation } from "../../Services/register.corporate.service"; +import ToastBox from "../../Components/ToastBox"; + +// Define Yup schema for validation +const validationSchema = Yup.object().shape({ + entity_name: Yup.string().required("Entity Name is required"), + corporate_name: Yup.string().required("Company Name is required"), + emailAddress: Yup.string() + .email("Email is invalid") + .required("Email is required"), + mobileNumber: Yup.string().required("Phone number is required"), + ISDcode: Yup.string(), +}); const RegisteredCorporateAddNewModal = ({ isOpen, onClose }) => { - const [isSuccessOpen, setIsSuccessOpen] = useState(false); + const toast = useToast() + const [isSuccessOpen, setIsSuccessOpen] = useState(false); + const [phone, setPhone] = useState(""); + const[ isLoading, setIsLoading ] = useState(false) - const [phone, setPhone] = useState(""); + const [isdCode, setIsdCode] = useState(""); + + // Initialize react-hook-form with Yup validation + const { + register, + handleSubmit, + formState: { errors }, + setValue, + reset, + } = useForm({ + resolver: yupResolver(validationSchema), + }); + + const [corporateQuickAdd] = useCorporateQuickAddMutation(); + + const handlePhoneChange = (value, country) => { + const countryCode = `+${country.dialCode}`; + setIsdCode(countryCode); + let numberWithoutISD = value; + + setPhone(numberWithoutISD); + setValue("mobileNumber", value.split('').splice(countryCode.length - 1, 15).join('')); // Sync phone number + setValue("ISDcode", countryCode); // Sync ISD code + }; + + + + // Handle form submission + const onSubmit = async (data) => { + setIsLoading(true) + console.log(data); + + try { + const res = await corporateQuickAdd(data) + console.log(res?.data?.data?.link); + + + + if (res?.data?.statusCode === 200) { + toast({ + render: () => ( + + ), + }) + localStorage?.setItem("link", res?.data?.data?.link) + setIsLoading(false); + setIsSuccessOpen(true); // Open success modal after submission + onClose(); // Close the initial add form modal + reset(); // Reset the form fields + }else if(res?.error){ + + toast({ + render: () => ( + + ), + }) + setIsLoading(false); + + } + + + } catch (error) { - const handleAddClick = () => { - // Handle the form submission logic here (e.g., send data to the server) - // After successful submission, open the success modal - setIsSuccessOpen(true); - onClose(); // Close the initial add form modal } - const handleSuccessClose = () => { - setIsSuccessOpen(false); - } + // Handle the form submission logic here (e.g., send data to the server) + + }; - return ( - - - - - Quick Add - - - - - Entity Name - - - - Email ID - - - - - Phone Number - + const handleSuccessClose = () => { + setIsSuccessOpen(false); + }; - - - - - - - - - - + return ( + + + + + Quick Add + + + {/* Use handleSubmit from react-hook-form */} + + + + Entity Name + + + + {errors.entity_name?.message} + + - {/* Success Modal */} - - - ) -} + + + Company Name + + + + {errors.corporate_name?.message} + + + + + + Email ID + + + + {errors.emailAddress?.message} + + + + + + Phone Number + + + {/* Handle phone input separately and integrate it with react-hook-form */} + + {errors.mobileNumber && ( + + {errors.mobileNumber.message} + + )} + + + + + + + + + + + + {/* Success Modal */} + + + ); +}; export default RegisteredCorporateAddNewModal; diff --git a/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModalSuccessModal.jsx b/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModalSuccessModal.jsx index c07dfec..53411d9 100644 --- a/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModalSuccessModal.jsx +++ b/src/Pages/RegisteredCorporate/RegisteredCorporateAddNewModalSuccessModal.jsx @@ -8,10 +8,15 @@ import { ModalCloseButton, Text, HStack, + Icon, + useToast, } from "@chakra-ui/react"; import React from "react"; import { motion } from "framer-motion"; // Import motion from framer-motion import PrimaryButton from "../../Components/Buttons/PrimaryButton"; +import { AddIcon } from "@chakra-ui/icons"; +import { FaRegCopy } from "react-icons/fa"; +import ToastBox from "../../Components/ToastBox"; // Define motion components const MotionBox = motion(Box); @@ -20,6 +25,24 @@ const MotionCircle = motion.circle; const MotionPolyline = motion.polyline; const RegisteredCorporateAddNewModalSuccessModal = ({ isOpen, onClose }) => { + const toast = useToast() + + function copyToClipboard(text) { + navigator.clipboard.writeText(text) + .then(() => { + // console.log('Text copied to clipboard'); + // alert('Text copied to clipboard'); + toast({ + render: () => ( + + ), + }) + }) + .catch((err) => { + console.error('Failed to copy text: ', err); + }); + } + return ( @@ -101,8 +124,19 @@ const RegisteredCorporateAddNewModalSuccessModal = ({ isOpen, onClose }) => { An email with the onboarding link along with the instruction has been sent has been sent.You can view their onboarding status, by clicking on the button below + + {localStorage?.getItem("link")} + copyToClipboard(localStorage?.getItem("link"))} position={'absolute'} right={0} bottom={0} boxSize={7} _hover={{bg:"gray.100", transition:"0.5s"}} cursor={'pointer'} rounded={'md'} as={FaRegCopy} /> + + + + - + diff --git a/src/Pages/ViewCorporates/ViewCorporates.jsx b/src/Pages/ViewCorporates/ViewCorporates.jsx index 20eaf04..8a600b2 100644 --- a/src/Pages/ViewCorporates/ViewCorporates.jsx +++ b/src/Pages/ViewCorporates/ViewCorporates.jsx @@ -18,9 +18,11 @@ import { MdCheckCircle, MdOutlineModeEdit } from "react-icons/md"; import SecondaryButton from "../../Components/Buttons/SecondaryButton"; import pancard from "../../assets/pancard.svg" import gift from "../../assets/gift.svg" +import { useNavigate } from "react-router-dom"; const ViewCorporates = () => { + const navigate = useNavigate() const { empData } = useContext(GlobalStateContext); const [isLoading, setIsLoading] = useState(false); const [selectedRadio, setSelectedRadio] = useState(""); @@ -127,7 +129,7 @@ const ViewCorporates = () => { ), "Action": ( - + navigate('/register-corporates/view-corporates-employee-details')}> {item.Action} @@ -141,7 +143,7 @@ const ViewCorporates = () => { - + @@ -153,7 +155,7 @@ const ViewCorporates = () => { Limited Liability Partnership (LLP) - { Registered - + + + */} + + + Registered + + @@ -445,7 +461,7 @@ const ViewCorporates = () => { - + @@ -556,7 +572,7 @@ const ViewCorporates = () => { - + diff --git a/src/Routes/Routes.js b/src/Routes/Routes.js index 5110a63..8c490ad 100644 --- a/src/Routes/Routes.js +++ b/src/Routes/Routes.js @@ -7,6 +7,6 @@ import ViewCorporatesEmployeeDetails from "../Pages/ViewCorporates/ViewCorporate export const RouteLink = [ { path: "/", Component: NotFound }, { path: "/register-corporates", Component: RegisteredCorporate }, - { path: "/view-corporates", Component: ViewCorporates }, - { path: "/view-corporates-employee-details", Component: ViewCorporatesEmployeeDetails }, + { path: "/register-corporates/view-corporates", Component: ViewCorporates }, + { path: "/register-corporates/view-corporates-employee-details", Component: ViewCorporatesEmployeeDetails }, ]; diff --git a/src/Services/Key.merits.service.js b/src/Services/Key.merits.service.js deleted file mode 100644 index c90ff10..0000000 --- a/src/Services/Key.merits.service.js +++ /dev/null @@ -1,42 +0,0 @@ -// io.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -export const keyMerits = createApi({ - reducerPath: "ioService", - baseQuery: baseQuery, - tagTypes: ["getKeyMerits"], - endpoints: (builder) => ({ - // =====[get] - getKeyMerits: builder.query({ - query: (id) => `/io/admin/key-merits/${id}`, - providesTags: ["getKeyMerits"], - }), - - - - - - - setDisplayOrder: builder.mutation({ - query: ({ data }) => ({ - url: `/io/admin/key-merits/resetDisplayOrder`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - - }), -}); - -// Export hooks for usage in functional components -export const { - useGetKeyMeritsQuery, - useSetDisplayOrderMutation -} = -keyMerits; diff --git a/src/Services/api.service.js b/src/Services/api.service.js deleted file mode 100644 index e69de29..0000000 diff --git a/src/Services/ban.investor.service.js b/src/Services/ban.investor.service.js deleted file mode 100644 index c16fa90..0000000 --- a/src/Services/ban.investor.service.js +++ /dev/null @@ -1,47 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const banInvestorDetails = createApi({ - reducerPath: "banInvestorDetails", - baseQuery: baseQuery, - tagTypes: ["getBanInvestor", "getUnbanInvestor"], - endpoints: (builder) => ({ - getInvestor: builder.query({ - query: () => `/investorDetails/admin`, - providesTags: ["getBanInvestor"], - }), - - getUnbanInvestor: builder.query({ - query: () => `/investorDetails/admin/getAllUnbanned`, - providesTags: ["getBanInvestor"], - }), - - getbanInvestor: builder.query({ - query: () => `/investorDetails/admin/getAllBanned`, - providesTags: ["getBanInvestor"], - }), - - updateUnban: builder.mutation({ - query: ({ id, data }) => ({ - url: `/investorDetails/admin/unBanById/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getBanInvestor"], - }), - - }), -}); - -// Export hooks for usage in functional components -export const { - useGetUnbanInvestorQuery, - useGetInvestorQuery, - useGetbanInvestorQuery, - useUpdateUnbanMutation, -} = banInvestorDetails; diff --git a/src/Services/bank.details.service.js b/src/Services/bank.details.service.js deleted file mode 100644 index 9031c99..0000000 --- a/src/Services/bank.details.service.js +++ /dev/null @@ -1,43 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const bankDetails = createApi({ - reducerPath: "bankDetails", - baseQuery: baseQuery, - tagTypes: ["getBank"], - - endpoints: (builder) => ({ - getBank: builder.query({ - query: ({ page, size }) => - `/bankDetails/admin/?page=${page}&size=${size}`, - providesTags: ["getBank"], - }), - - updateBankDetails: builder.mutation({ - query: ({ data, id }) => ({ - url: `/bankDetails/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getBank"], - }), - - getBankDetails: builder.query({ - query: ({ data, id }) => ({ - url: `/bankDetails/admin/${id}`, - method: "GET", - body: data, - }), - invalidatesTags: ["getBank"], - }), - - }), -}); - -// Export hooks for usage in functional components -export const { useGetBankQuery, useUpdateBankDetailsMutation,useGetBankDetailsQuery } = bankDetails; diff --git a/src/Services/contact.service.js b/src/Services/contact.service.js deleted file mode 100644 index 241c657..0000000 --- a/src/Services/contact.service.js +++ /dev/null @@ -1,37 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const contact = createApi({ - reducerPath: "contact", - baseQuery: baseQuery, - tagTypes: ["getContact"], - endpoints: (builder) => ({ - - getContact: builder.query({ - query: () => - `/contactDetails/admin`, - providesTags: ["getContact"], - }), - - - // ========[Update Investment]======= - - updateContact: builder.mutation({ - query: (data) => ({ - url: `/contactDetails/admin/`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getContact"], - }), - - }), -}); - -// Export hooks for usage in functional components -export const { useGetContactQuery, useUpdateContactMutation } = contact; diff --git a/src/Services/delete.request.service.js b/src/Services/delete.request.service.js deleted file mode 100644 index 61e657f..0000000 --- a/src/Services/delete.request.service.js +++ /dev/null @@ -1,57 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const deleteRequest = createApi({ - reducerPath: "deleteRequest", - baseQuery: baseQuery, - tagTypes: ["getDeleteRequest", "getDeleteHistory"], - endpoints: (builder) => ({ - - - getDeleteRequest: builder.query({ - query: () => `/account/admin/pending-request`, - providesTags: ["getDepositRequest"], - }), - - getDeleteRequestById: builder.query({ - query: (id) => `/account/admin/detail/${id}`, - }), - - approveDepositRequest: builder.mutation({ - query: ({ id, data }) => ({ - url: `/account/admin/approved-request/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getDeleteRequest", "getDeleteHistory"], - }), - - deleteReject: builder.mutation({ - query: ({ id, data }) => ({ - url: `/deposit/admin/rejected/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getDeleteRequest", "getDeleteHistory"], - }), - - getDeleteHistory: builder.query({ - query: () => `/account/admin/history`, - providesTags: ["getDeleteHistory"], - }), - }), -}); - -// Export hooks for usage in functional components -export const { - useGetDeleteRequestQuery, - useGetDeleteRequestByIdQuery, - useApproveDepositRequestMutation, - useGetDeleteHistoryQuery - -} = deleteRequest; diff --git a/src/Services/deposit.request.service.js b/src/Services/deposit.request.service.js deleted file mode 100644 index 65a77fb..0000000 --- a/src/Services/deposit.request.service.js +++ /dev/null @@ -1,55 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const depositRequest = createApi({ - reducerPath: "depositRequest", - baseQuery: baseQuery, - tagTypes: ["getDepositRequest", "getDepositHistory"], - endpoints: (builder) => ({ - getDepositRequest: builder.query({ - query: ({page, size}) => `/deposit/admin/pending-requests?page=${page}&size=${size}`, - providesTags: ["getDepositRequest"], - }), - - getDepositRequestById: builder.query({ - query: (id) => `/deposit/admin/getById/${id}`, - }), - - updateDepositRequest: builder.mutation({ - query: ({ id, data }) => ({ - url: `/deposit/admin/approved/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getDepositRequest", "getDepositHistory"], - }), - - depositReject: builder.mutation({ - query: ({ id, data }) => ({ - url: `/deposit/admin/rejected/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getDepositRequest", "getDepositHistory"], - }), - - getDepositHistory: builder.query({ - query: ({page, size}) => `/deposit/admin/history?page=${page}&size=${size}`, - providesTags: ["getDepositHistory"], - }), - }), -}); - -// Export hooks for usage in functional components -export const { - useGetDepositRequestQuery, - useGetDepositRequestByIdQuery, - useUpdateDepositRequestMutation, - useDepositRejectMutation, - useGetDepositHistoryQuery, -} = depositRequest; diff --git a/src/Services/deposite.service.js b/src/Services/deposite.service.js deleted file mode 100644 index a782d91..0000000 --- a/src/Services/deposite.service.js +++ /dev/null @@ -1,101 +0,0 @@ -//sponser.service -// Need to use the React-specific entry point to import createApi -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import { api } from "./api.service"; - -const baseUrl = api?.defaults.baseURL; - -// const baseUrl = `${import.meta.env.VITE_API_BASE_URL}/${import.meta.env.VITE_API_VERSION}` - -// Define a service using a base URL and expected endpoints -export const deposite = createApi({ - reducerPath: "deposite", - baseQuery: fetchBaseQuery({ baseUrl: baseUrl }), - tagTypes: ["gtDeposite"], - endpoints: (builder) => ({ - - - - // ======[Get All]===== - - getSponserMaster: builder.query({ - query: ({ page, size }) => `/sponsor/admin?page=${page}&size=${size}`, - providesTags: ["getSponser"], - }), - - - // ========[Get Active]======== - - getActiveSponserMaster: builder.query({ - query: () => `/sponsor/admin/active`, - providesTags: ["getSponser"], - }), - - getSponserMasterActive: builder.query({ - query: () => "/sponsor/admin/active", - }), - - - // ======[Get ID]===== - - getSponserById: builder.query({ - query: (id) => `/sponsor/admin/${id}`, - providesTags: ["getSponser"], - }), - - // ========[Toggle Status]======== - - toggleStatus: builder.mutation({ - query: ({ id }) => ({ - url: `/sponsor/admin/toggle-status/${id}`, - method: "PATCH", - }), - invalidatesTags: ["getSponser"], - }), - - // ========[Create Sponser]======== - - createSponser: builder.mutation({ - query: (data) => ({ - url: `/sponsor/admin`, - method: "POST", - body: data, - }), - invalidatesTags: ["getSponser"], - }), - - // ========[Update Sponser]======== - - updateSponser: builder.mutation({ - query: ({ data, id }) => ({ - url: `/sponsor/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getSponser"], - }), - - // ========[Delete Sponser]======== - - deleteSponser: builder.mutation({ - query: (id) => ({ - url: `/sponsor/admin/delete/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getSponser"], - }), - - }), -}); - -// Export hooks for usage in functional components -export const { - useGetSponserMasterQuery, - useGetSponserMasterActiveQuery, - useToggleStatusMutation, - useCreateSponserMutation, - useUpdateSponserMutation, - useGetSponserByIdQuery, - useDeleteSponserMutation, - useGetActiveSponserMasterQuery -} = sponserMaster; diff --git a/src/Services/drawal.request.service.js b/src/Services/drawal.request.service.js deleted file mode 100644 index 11c87c1..0000000 --- a/src/Services/drawal.request.service.js +++ /dev/null @@ -1,56 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const drawalRequest = createApi({ - reducerPath: "drawalRequest", - baseQuery: baseQuery, - tagTypes: ["getDrawalRequest", "getDepositHistory"], - endpoints: (builder) => ({ - - getDrawalRequest: builder.query({ - query: () => `/withdrawal/admin`, - providesTags: ["getDrawalRequest"], - }), - - getDrawalRequestById: builder.query({ - query: (id) => `/withdrawal/admin/getById/${id}`, - }), - - updateDrawalRequest: builder.mutation({ - query: ({ id, data }) => ({ - url: `/withdrawal/admin/updateApprove/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getDrawalRequest", "getDepositHistory"], - }), - - depositReject: builder.mutation({ - query: ({ id, data }) => ({ - url: `/deposit/admin/rejected/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getDepositRequest", "getDepositHistory"], - }), - - getDrawalHistory: builder.query({ - query: () => `/withdrawal/admin/history`, - providesTags: ["getDepositHistory"], - }), - }), -}); - -// Export hooks for usage in functional components -export const { - useGetDrawalRequestQuery, - useUpdateDrawalRequestMutation, - useGetDrawalRequestByIdQuery, - useDepositRejectMutation, - useGetDrawalHistoryQuery -} = drawalRequest; diff --git a/src/Services/exchange.rate.service.js b/src/Services/exchange.rate.service.js deleted file mode 100644 index 79c40bb..0000000 --- a/src/Services/exchange.rate.service.js +++ /dev/null @@ -1,49 +0,0 @@ -// exchangeRate.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const exchangeRate = createApi({ - reducerPath: "exchangeRate", - baseQuery: baseQuery, - tagTypes: ["getAllExchangeRate", "getExchangeById"], - - endpoints: (builder) => ({ - - getAllExchangeRates: builder.query({ - query: ({ page, size }) => - `/currencyExchange/admin?page=${page}&size=${size}`, - providesTags: ["getAllExchangeRate"], - }), - - getExchangeRateById: builder.query({ - query: (id) => `/currencyExchange/admin/${id}`, - providesTags: ["getExchangeById"], - }), - - updateExchangeRate: builder.mutation({ - query: ({ data, id }) => ({ - url: `/currencyExchange/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getAllExchangeRate"], - }), - - getCurrencyHistoryById: builder.query({ - query: (id) => `/currencyExchange/admin/history/${id}`, - providesTags: ["getAllExchangeRate"], - }), - }), -}); - -// Export hooks for usage in functional components -export const { - useGetAllExchangeRatesQuery, - useGetExchangeRateByIdQuery, - useUpdateExchangeRateMutation, - useGetCurrencyHistoryByIdQuery, -} = exchangeRate; diff --git a/src/Services/investment.documents.service.js b/src/Services/investment.documents.service.js deleted file mode 100644 index ddc439b..0000000 --- a/src/Services/investment.documents.service.js +++ /dev/null @@ -1,61 +0,0 @@ -// io.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -export const ioService = createApi({ - reducerPath: "ioService", - baseQuery: baseQuery, - tagTypes: ["getInvestmentDocuments"], - - - - endpoints: (builder) => ({ - // =====[get] - getInvestmentDocuments: builder.query({ - query: ({id}) => `/io/admin/document/${id}`, - providesTags: ["getInvestmentDocuments"], - }), - - - - - - - // =====[create] - createInvestmentDocuments: builder.mutation({ - query: ({data, id}) => ({ - url: `/io/admin/document/${id}`, - method: "POST", - body: data, - }), - - invalidatesTags: ["getInvestmentDocuments"], - }), - - - - updateIO: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getInvestmentDocuments"], - }), - - - - - - - }), -}); - -// Export hooks for usage in functional components -export const { - useCreateInvestmentDocumentsMutation, -} = - ioService; diff --git a/src/Services/investment.type.service.js b/src/Services/investment.type.service.js deleted file mode 100644 index 1dbc1e1..0000000 --- a/src/Services/investment.type.service.js +++ /dev/null @@ -1,72 +0,0 @@ -// // investmentType.service.js -// import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// // import { api } from "./api.service"; -// import { baseQuery } from "./token.serivce"; - -// // const baseUrl = api?.defaults.baseURL; - -// // Define a service using a base URL and expected endpoints -// export const investmentType = createApi({ -// reducerPath: "investmentType", -// baseQuery: baseQuery, -// tagTypes: ["getInvestmentType", "getInvestmentTypeID"], -// endpoints: (builder) => ({ - -// // ========[Get All]========= - -// getInvestmentTypes: builder.query({ -// query: ({ page, size }) => -// `/investmentType/admin?page=${page}&size=${size}`, -// providesTags: ["getInvestmentType"], -// }), - -// // ========[Get ID]========= - -// getInvestmentTypeById: builder.query({ -// query: (id) => `/investmentType/admin/${id}`, -// providesTags: ["getInvestmentTypeID"], -// }), - -// // ========[Create Investment]======== - -// createInvestmentType: builder.mutation({ -// query: (data) => ({ -// url: `/investmentType/admin/`, -// method: "POST", -// body: data, -// }), -// invalidatesTags: ["getInvestmentType"], -// }), - -// // ========[Update Investment]======= - -// updateInvestmentType: builder.mutation({ -// query: ({ data, id }) => ({ -// url: `/investmentType/admin/${id}`, -// method: "PATCH", -// body: data, -// }), -// invalidatesTags: ["getInvestmentTypeID", "getInvestmentType"], -// }), - -// // ========[Delete Investment]======= - -// deleteInvestmentType: builder.mutation({ -// query: (id) => ({ -// url: `/investmentType/admin/delete/${id}`, -// method: "DELETE", -// }), -// invalidatesTags: ["getInvestmentType"], -// }), - -// }), -// }); - -// // Export hooks for usage in functional components -// export const { -// useGetInvestmentTypesQuery, -// useGetInvestmentTypeByIdQuery, -// useCreateInvestmentTypeMutation, -// useUpdateInvestmentTypeMutation, -// useDeleteInvestmentTypeMutation, -// } = investmentType; diff --git a/src/Services/investor.details.service.js b/src/Services/investor.details.service.js deleted file mode 100644 index e77d6a7..0000000 --- a/src/Services/investor.details.service.js +++ /dev/null @@ -1,42 +0,0 @@ -// investorDetails.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; - -// Define a service using a base URL and expected endpoints -export const investorDetails = createApi({ - reducerPath: "investorDetails", - baseQuery: baseQuery, - tagTypes: [], - endpoints: (builder) => ({ - getInvestors: builder.query({ - query: ({ page, size }) => - `/investorDetails/admin?page=${page}&size=${size}`, - providesTags: ["getInvestors"], - }), - - // =====[get investment details ] - getInvestorsDetailsById: builder.query({ - query: (id) => `/investorDetails/admin/byId/${id}`, - providesTags: ["getInvestors"], - }), - - // =====[get investment details ] - getInvestorsDetailsById_InInvCur: builder.query({ - query: ({ id, currencyIn }) => - currencyIn - ? `/investorDetails/admin/byId/${id}?currencyIn=InvCur` - : `/investorDetails/admin/byId/${id}`, - providesTags: ["getInvestors"], - }), - }), -}); - -// Export hooks for usage in functional components -export const { - useGetInvestorsQuery, - useGetInvestorsDetailsByIdQuery, - useGetInvestorsDetailsById_InInvCurQuery, -} = investorDetails; diff --git a/src/Services/investor.transaction.service.js b/src/Services/investor.transaction.service.js deleted file mode 100644 index 8277f26..0000000 --- a/src/Services/investor.transaction.service.js +++ /dev/null @@ -1,23 +0,0 @@ -// investorTransaction.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = import.meta.env.VITE_API_BASE_URL + "/api"; - -// Define a service using a base URL and expected endpoints -export const investorTransaction = createApi({ - reducerPath: "investorTransaction", - baseQuery: baseQuery, - tagTypes: [], - endpoints: (builder) => ({ - getTransactions: builder.query({ - query: () => '/getTransactions', - }), - getTransactionById: builder.query({ - query: (id) => `/getTransaction/${id}`, - }), - }), -}); - -// Export hooks for usage in functional components -export const { useGetTransactionsQuery, useGetTransactionByIdQuery } = investorTransaction; diff --git a/src/Services/io.service.js b/src/Services/io.service.js deleted file mode 100644 index 9ffe66e..0000000 --- a/src/Services/io.service.js +++ /dev/null @@ -1,493 +0,0 @@ -// io.service.js -import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// import { api } from "./api.service"; -import { baseQuery } from "./token.serivce"; - -// const baseUrl = api?.defaults.baseURL; -// Define a service using a base URL and expected endpoints -export const ioService = createApi({ - reducerPath: "ioService", - baseQuery: baseQuery, - tagTypes: [ - "prePopulate", - "getIO", - "getKeyMerits", - "getArtifactsVideo", - "getInvestmentDocuments", - "getIOById", - "getSponser", - "getInvestmentType", - "getInvestmentTypeID" - ], - endpoints: (builder) => ({ - // =====[get prepopulate data] - getIOprepopulateData: builder.query({ - query: () => `/io/admin/pre-populate`, - providesTags: ["prePopulate"], - }), - - // =====[get] - getIOs: builder.query({ - query: ({ page, size }) => `/io/admin?page=${page}&size=${size}`, - providesTags: ["getIO"], - }), - - getIOById: builder.query({ - query: (id) => ({ url: `/io/admin/${id}` }), - providesTags: ["getIOById"], - }), - - // =====[create] - createIO: builder.mutation({ - query: (data) => ({ - url: `/io/admin`, - method: "POST", - body: data, - }), - invalidatesTags: ["getIO"], - }), - - updateIO: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById", "getIO", "prePopulate"], - }), - - // =====[Key Merits] - getKeyMerits: builder.query({ - query: (id) => `/io/admin/key-merits/${id}`, - providesTags: ["getKeyMerits"], - }), - - createKeyMerits: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/key-merits/${id}`, - method: "POST", - body: data, - // No need to manually set 'Content-Type' - }), - invalidatesTags: ["getIOById"], - }), - - deleteKeyMerits: builder.mutation({ - query: (id) => ({ - url: `/io/admin/key-merits/hard-delete/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getIOById"], - }), - - updateKeyMerits: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/key-merits/byId/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - // =====[getIODocument] - createInvestmentDocuments: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/document/${id}`, - method: "POST", - body: data, - }), - - invalidatesTags: ["getIOById"], - }), - - updateInvestmentDocuments: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/document/byId/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - getInvestmentDocuments: builder.query({ - query: (id) => `/io/admin/document/${id}`, - providesTags: ["getInvestmentDocuments"], - }), - - deleteIODocs: builder.mutation({ - query: (id) => ({ - url: `/io/admin/document/hard-delete/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getIOById"], - }), - - // =====[Artifacts] - getArtifactsVideo: builder.query({ - query: (id) => `/io/artifact/artifactVideo/${id}`, - providesTags: ["getArtifactsVideo"], - }), - - // =====[createImageArtifacts] - createImageArtifacts: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/artifact/image/${id}`, - method: "POST", - body: data, - }), - - invalidatesTags: ["getIOById"], - }), - - updateImageArtifacts: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/artifact/image/byId/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - // =====[createVideoArtifacts] - createVideoArtifacts: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/artifact/video/${id}`, - method: "POST", - body: data, - }), - - invalidatesTags: ["getIOById"], - }), - - deleteVideoArtifacts: builder.mutation({ - query: (id) => ({ - url: `/io/admin/artifact/video/byId/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getIOById"], - }), - - deleteImageArtifacts: builder.mutation({ - query: (id) => ({ - url: `/io/admin/artifact/image/byId/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getIOById"], - }), - - updateVideoArtifacts: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/artifact/video/byId/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - updateStatusIo: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/transaction/${id}/update-status/`, - method: "POST", - body: data, - }), - invalidatesTags: ["getIOById", "getIO"], - }), - - createIoCash: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/transaction/${id}/io-cash/`, - method: "POST", - body: data, - }), - - invalidatesTags: ["getIOById"], - }), - - createIoNav: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/transaction/${id}/io-nav/`, - method: "POST", - body: data, - }), - - invalidatesTags: ["getIOById"], - }), - - // =====[ Amount Investment ] ====== - amountIvestment: builder.mutation({ - query: ({ data, id }) => ({ - url: `/io/admin/transaction/${id}/amount-invested`, - - method: "POST", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - // ======== [ Distribution Transaction ] ======== - - getDistributionInvestor: builder.mutation({ - query: ({ id, data }) => ({ - url: `/io/admin/transaction/${id}/calculate-distribution-amt`, - method: "POST", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - getDistributedToInvestor: builder.mutation({ - query: ({ id, data }) => ({ - url: `/io/admin/transaction/${id}/distributed-to-investor`, - method: "POST", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - updateExitToInvestor: builder.mutation({ - query: ({ id, data }) => ({ - url: `/io/admin/transaction/${id}/exit`, - method: "POST", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - - -// ==============[ Displaye Orders ]=============== - - setDisplayOrder: builder.mutation({ - query: ({ data }) => ({ - url: `/io/admin/key-merits/resetDisplayOrder`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - setDisplayOrderIODocuments: builder.mutation({ - query: ({ data }) => ({ - url: `/io/admin/document/resetDisplayOrder`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - setDisplayOrderIOArtifactsImage: builder.mutation({ - query: ({ data }) => ({ - url: `/io/admin/artifact/image/resetDisplayOrder`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - setDisplayOrderIOArtifactsVideo: builder.mutation({ - query: ({ data }) => ({ - url: `/io/admin/artifact/video/resetDisplayOrder`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getIOById"], - }), - - // ========[Create Sponser]======== - - createSponser: builder.mutation({ - query: (data) => ({ - url: `/sponsor/admin`, - method: "POST", - body: data, - }), - invalidatesTags: ["getSponser","prePopulate"], - }), - - // ========[Update Sponser]======== - - updateSponser: builder.mutation({ - query: ({ data, id }) => ({ - url: `/sponsor/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getSponser","prePopulate"], - }), - - // ======[Get All]===== - - getSponserMaster: builder.query({ - query: ({ page, size }) => `/sponsor/admin?page=${page}&size=${size}`, - providesTags: ["getSponser"], - }), - - // ========[Delete Sponser]======== - - deleteSponser: builder.mutation({ - query: (id) => ({ - url: `/sponsor/admin/delete/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getSponser"], - }), - - // ========[Get Active]======== - - getActiveSponserMaster: builder.query({ - query: () => `/sponsor/admin/active`, - }), - - getSponserMasterActive: builder.query({ - query: () => "/sponsor/admin/active", - }), - - // ======[Get ID]===== - - getSponserById: builder.query({ - query: (id) => `/sponsor/admin/${id}`, - }), - - // ========[Get Active]======== - - getActiveSponserMaster: builder.query({ - query: () => `/sponsor/admin/active`, - }), - - - - -// ===============================[ Investment Type ]=================================== - - - // ========[Get All]========= - - getInvestmentTypes: builder.query({ - query: ({ page, size }) => - `/investmentType/admin?page=${page}&size=${size}`, - providesTags: ["getInvestmentType"], - }), - - // ========[Get ID]========= - - getInvestmentTypeById: builder.query({ - query: (id) => `/investmentType/admin/${id}`, - providesTags: ["getInvestmentTypeID"], - }), - - // ========[Create Investment]======== - - createInvestmentType: builder.mutation({ - query: (data) => ({ - url: `/investmentType/admin/`, - method: "POST", - body: data, - }), - invalidatesTags: ["getInvestmentType", "prePopulate"], - }), - - // ========[Update Investment]======= - - updateInvestmentType: builder.mutation({ - query: ({ data, id }) => ({ - url: `/investmentType/admin/${id}`, - method: "PATCH", - body: data, - }), - invalidatesTags: ["getInvestmentTypeID", "getInvestmentType", "prePopulate"], - }), - - // ========[Delete Investment]======= - - deleteInvestmentType: builder.mutation({ - query: (id) => ({ - url: `/investmentType/admin/delete/${id}`, - method: "DELETE", - }), - invalidatesTags: ["getInvestmentType", 'prePopulate'], - }), - - - - - - - - - - - - - - - - }), -}); - -// Export hooks for usage in functional components -export const { - useGetIOprepopulateDataQuery, - - useGetIOsQuery, - useGetIOByIdQuery, - useCreateIOMutation, - useUpdateIOMutation, - - useGetKeyMeritsQuery, - useCreateKeyMeritsMutation, - useDeleteKeyMeritsMutation, - useUpdateKeyMeritsMutation, - - useGetInvestmentDocumentsQuery, - useCreateInvestmentDocumentsMutation, - useDeleteIODocsMutation, - useUpdateInvestmentDocumentsMutation, - - useCreateImageArtifactsMutation, - useUpdateImageArtifactsMutation, - useUpdateVideoArtifactsMutation, - - useGetArtifactsVideoQuery, - useCreateVideoArtifactsMutation, - useDeleteVideoArtifactsMutation, - useDeleteImageArtifactsMutation, - - - useSetDisplayOrderMutation, - useSetDisplayOrderIODocumentsMutation, - useSetDisplayOrderIOArtifactsImageMutation, - useSetDisplayOrderIOArtifactsVideoMutation, - - useCreateIoCashMutation, - useCreateIoNavMutation, - - useUpdateStatusIoMutation, - - useAmountIvestmentMutation, - - useGetDistributionInvestorMutation, - - useGetDistributedToInvestorMutation, - useUpdateExitToInvestorMutation, - - -// ==============[ Sponser ]=============== - useGetSponserMasterQuery, - useGetSponserMasterActiveQuery, - useCreateSponserMutation, - useUpdateSponserMutation, - useGetSponserByIdQuery, - useDeleteSponserMutation, - useGetActiveSponserMasterQuery, - - - // ============[ Investment Type ]======== - - - useGetInvestmentTypesQuery, - useGetInvestmentTypeByIdQuery, - useCreateInvestmentTypeMutation, - useUpdateInvestmentTypeMutation, - useDeleteInvestmentTypeMutation, - -} = ioService; diff --git a/src/Services/register.corporate.service.js b/src/Services/register.corporate.service.js new file mode 100644 index 0000000..fb4ec6a --- /dev/null +++ b/src/Services/register.corporate.service.js @@ -0,0 +1,38 @@ +// investorDetails.service.js +import { createApi } from "@reduxjs/toolkit/query/react"; +// import { api } from "./api.service"; +import { baseQuery } from "./token.serivce"; + +// const baseUrl = api?.defaults.baseURL; + +// Define a service using a base URL and expected endpoints +export const registerCorporate = createApi({ + reducerPath: "registerCorporate", + baseQuery: baseQuery, + tagTypes: ["getAllCorp"], + + endpoints: (builder) => ({ + + + getAllCorp: builder.query({ + // query: (searchData) => `/corporate/admin`, + query: (searchData) => `/corporate/admin/?search_data=${searchData}?page=${1}&size=${100}`, + providesTags: ["getAllCorp"], + }), + + + // =====[create] + corporateQuickAdd: builder.mutation({ + query: (data) => ({ + url: `/corporate/admin/quick-add`, + method: "POST", + body: data, + }), + invalidatesTags: ["getAllCorp"], + }), + + }), +}); + +// Export hooks for usage in functional components +export const { useCorporateQuickAddMutation, useGetAllCorpQuery } = registerCorporate; diff --git a/src/Services/sponser.service.js b/src/Services/sponser.service.js deleted file mode 100644 index c2e5a82..0000000 --- a/src/Services/sponser.service.js +++ /dev/null @@ -1,105 +0,0 @@ -// //sponser.service -// // Need to use the React-specific entry point to import createApi -// import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; -// // import { api } from "./api.service"; -// import { baseQuery } from "./token.serivce"; -// import { ioService } from "./io.service"; - -// // const baseUrl = api?.defaults.baseURL; - - - -// // const baseUrl = `${import.meta.env.VITE_API_BASE_URL}/${import.meta.env.VITE_API_VERSION}` - - - -// // Define a service using a base URL and expected endpoints -// export const sponserMaster = createApi({ -// reducerPath: "sponserMaster", -// baseQuery: baseQuery, -// tagTypes: ["getSponser", "prePopulate"], -// endpoints: (builder) => ({ - - - -// // ======[Get All]===== - -// getSponserMaster: builder.query({ -// query: ({ page, size }) => `/sponsor/admin?page=${page}&size=${size}`, -// providesTags: ["getSponser"], -// }), - - -// // ========[Get Active]======== - -// getActiveSponserMaster: builder.query({ -// query: () => `/sponsor/admin/active`, -// }), - -// getSponserMasterActive: builder.query({ -// query: () => "/sponsor/admin/active", -// }), - - -// // ======[Get ID]===== - -// getSponserById: builder.query({ -// query: (id) => `/sponsor/admin/${id}`, -// }), - -// // ========[Toggle Status]======== - -// toggleStatus: builder.mutation({ -// query: ({ id }) => ({ -// url: `/sponsor/admin/toggle-status/${id}`, -// method: "PATCH", -// }), -// invalidatesTags: ["getSponser"], -// }), - -// // ========[Create Sponser]======== - -// createSponser: builder.mutation({ -// query: (data) => ({ -// url: `/sponsor/admin`, -// method: "POST", -// body: data, -// }), -// invalidatesTags: ["getSponser","prePopulate"], -// }), - -// // ========[Update Sponser]======== - -// updateSponser: builder.mutation({ -// query: ({ data, id }) => ({ -// url: `/sponsor/admin/${id}`, -// method: "PATCH", -// body: data, -// }), -// invalidatesTags: ["getSponser"], -// }), - -// // ========[Delete Sponser]======== - -// deleteSponser: builder.mutation({ -// query: (id) => ({ -// url: `/sponsor/admin/delete/${id}`, -// method: "DELETE", -// }), -// invalidatesTags: ["getSponser"], -// }), - -// }), -// }); - -// // Export hooks for usage in functional components -// export const { -// useGetSponserMasterQuery, -// useGetSponserMasterActiveQuery, -// useToggleStatusMutation, -// useCreateSponserMutation, -// useUpdateSponserMutation, -// useGetSponserByIdQuery, -// useDeleteSponserMutation, -// useGetActiveSponserMasterQuery -// } = sponserMaster; diff --git a/src/Services/token.serivce.js b/src/Services/token.serivce.js index b21936d..01dfb5b 100644 --- a/src/Services/token.serivce.js +++ b/src/Services/token.serivce.js @@ -1,21 +1,6 @@ import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; import Cookies from "js-cookie"; -// Define a base query function with RTK Query -// export const baseQuery = fetchBaseQuery({ -// baseUrl: 'https://sprint4.tanami.betadelivery.com/api/v1', -// prepareHeaders: (headers) => { -// const token = localStorage.getItem('accessToken'); -// if (token) { -// headers.set('x-auth-token', `${token}`); -// } -// return headers; -// }, -// }); - -// Define a base query function with token refresh logic - -console.log(import.meta.env.VITE_BASE_URL); export const baseQuery = async (args, api, extraOptions) => { let result = await fetchBaseQuery({ baseUrl: import.meta.env.VITE_BASE_URL, @@ -137,6 +122,14 @@ export const apiSlice = createApi({ }), }), + setOtp: builder.mutation({ + query: (data) => ({ + url: "/auth/admin/verify-otp", + method: "POST", + body: data , + }), + }), + @@ -157,4 +150,4 @@ export const apiSlice = createApi({ }), }); -export const { useLoginMutation, useRefreshTokenMutation, useForgotPasswordMutation, useResetPasswordMutation,useResendOtpMutation } = apiSlice; +export const { useLoginMutation, useRefreshTokenMutation, useForgotPasswordMutation, useResetPasswordMutation,useResendOtpMutation, useSetOtpMutation } = apiSlice; diff --git a/src/Store/Store.js b/src/Store/Store.js index 5de50f9..240f5dd 100644 --- a/src/Store/Store.js +++ b/src/Store/Store.js @@ -1,37 +1,13 @@ import { configureStore } from "@reduxjs/toolkit"; import { setupListeners } from "@reduxjs/toolkit/query"; -// import { sponserMaster } from "../Services/sponser.service"; -// import { investmentType } from "../Services/investment.type.service"; -import { exchangeRate } from "../Services/exchange.rate.service"; -import { ioService } from "../Services/io.service"; -import { investorDetails } from "../Services/investor.details.service"; -import { investorTransaction } from "../Services/investor.transaction.service"; -// import { api } from "../Services/api.service"; -// import { keyMerits } from "../Services/Key.merits.service"; -import { bankDetails } from "../Services/bank.details.service"; -import { contact } from "../Services/contact.service"; -import { depositRequest } from "../Services/deposit.request.service"; import { apiSlice, baseQuery } from "../Services/token.serivce"; -import { drawalRequest } from "../Services/drawal.request.service"; -import { deleteRequest } from "../Services/delete.request.service"; -import { banInvestorDetails } from "../Services/ban.investor.service"; +import { registerCorporate } from "../Services/register.corporate.service"; export const store = configureStore({ reducer: { [apiSlice.reducerPath]: apiSlice.reducer, - // [sponserMaster.reducerPath]: sponserMaster.reducer, - // [investmentType.reducerPath]: investmentType.reducer, - [exchangeRate.reducerPath]: exchangeRate.reducer, - [ioService.reducerPath]: ioService.reducer, - [investorDetails.reducerPath]: investorDetails.reducer, - [investorTransaction.reducerPath]: investorTransaction.reducer, - [bankDetails.reducerPath]: bankDetails.reducer, - [contact.reducerPath]: contact.reducer, - [depositRequest.reducerPath]: depositRequest.reducer, - [drawalRequest.reducerPath]: drawalRequest.reducer, - [deleteRequest.reducerPath]: deleteRequest.reducer, - [banInvestorDetails.reducerPath]: banInvestorDetails.reducer, - // Add other reducers as needed + [registerCorporate.reducerPath]: registerCorporate.reducer, + }, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ @@ -40,18 +16,7 @@ export const store = configureStore({ }, }).concat( apiSlice.middleware, - // sponserMaster.middleware, - // investmentType.middleware, - exchangeRate.middleware, - ioService.middleware, - investorDetails.middleware, - investorTransaction.middleware, - bankDetails.middleware, - contact.middleware, - depositRequest.middleware, - drawalRequest.middleware, - deleteRequest.middleware, - banInvestorDetails.middleware, + registerCorporate.middleware, ), }); diff --git a/src/assets/Whitelogo.svg b/src/assets/Whitelogo.svg new file mode 100644 index 0000000..79a2bc7 --- /dev/null +++ b/src/assets/Whitelogo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/assets/pattern_white.png b/src/assets/pattern_white.png new file mode 100644 index 0000000..fefb5ec Binary files /dev/null and b/src/assets/pattern_white.png differ