From d84b3a0e35b27a38d88159107621690a53af8203 Mon Sep 17 00:00:00 2001
From: Swapnil Bendal <84583651+Swapnil155@users.noreply.github.com>
Date: Wed, 11 Dec 2024 18:47:43 +0530
Subject: [PATCH] [update] - role check
---
src/Constants/Constants.js | 5 +-
src/Layout/DefaultLayout.jsx | 4 +-
.../IO_Management/ViewIO/ViewIOdataHeader.jsx | 246 ++++++++----------
3 files changed, 120 insertions(+), 135 deletions(-)
diff --git a/src/Constants/Constants.js b/src/Constants/Constants.js
index 76567e0..d057af1 100644
--- a/src/Constants/Constants.js
+++ b/src/Constants/Constants.js
@@ -237,4 +237,7 @@ export const decryptString = (ciphertext) => {
export const SUPER_ADMIN_ID = Number(import.meta.env.VITE_SUPER_ADMIN_ID) || 1
export const MAKER_ID = import.meta.env.VITE_MAKER_ID || 1
-export const CHECKER_ID = import.meta.env.VITE_CHECKER_ID || 2
\ No newline at end of file
+export const CHECKER_ID = import.meta.env.VITE_CHECKER_ID || 2
+
+export const isMaker = () => decryptString(localStorage?.getItem("role")) === import.meta.env.VITE_MAKER;
+export const isChecker = () => decryptString(localStorage?.getItem("role")) === import.meta.env.VITE_CHECKER;
diff --git a/src/Layout/DefaultLayout.jsx b/src/Layout/DefaultLayout.jsx
index 8d0f028..7d44f2b 100644
--- a/src/Layout/DefaultLayout.jsx
+++ b/src/Layout/DefaultLayout.jsx
@@ -157,7 +157,9 @@ const DashboardLayout = ({ isOnline }) => {
await logout();
localStorage.clear();
navigate("/login");
- } catch (error) {}
+ } catch (error) {
+ console.log(error);
+ }
};
// // Function to get the title based on the route
diff --git a/src/Pages/IO_Management/ViewIO/ViewIOdataHeader.jsx b/src/Pages/IO_Management/ViewIO/ViewIOdataHeader.jsx
index 2f0fa4d..ef728c7 100644
--- a/src/Pages/IO_Management/ViewIO/ViewIOdataHeader.jsx
+++ b/src/Pages/IO_Management/ViewIO/ViewIOdataHeader.jsx
@@ -1,57 +1,45 @@
import {
- Button,
- Divider,
+ Badge,
+ Box,
+ HStack,
+ Icon,
Image,
Menu,
MenuButton,
MenuItem,
MenuList,
- Modal,
- ModalBody,
- ModalCloseButton,
- ModalContent,
- ModalFooter,
- ModalHeader,
- ModalOverlay,
- Portal,
Text,
useDisclosure,
- MenuItemOption,
- MenuGroup,
- MenuOptionGroup,
- MenuDivider,
- Badge,
- Box,
- Icon,
- HStack,
useToast,
} from "@chakra-ui/react";
-import header from "../../../assets/IOheader.png";
+import { useContext, useRef } from "react";
+import { GrGallery } from "react-icons/gr";
import { HiDotsVertical } from "react-icons/hi";
-import { Link, useParams } from "react-router-dom";
+import { useParams } from "react-router-dom";
+import Loader01 from "../../../Components/Loaders/Loader01";
+import ToastBox from "../../../Components/ToastBox";
+import {
+ decryptString,
+ encryptString,
+ isMaker,
+} from "../../../Constants/Constants";
+import GlobalStateContext from "../../../Contexts/GlobalStateContext";
+import { useUpdateTransactionMutation } from "../../../Services/io.service";
import AmountInvested from "./HeaderModal/AmountInvested";
-import FeesExpenses from "./HeaderModal/FeesExpenses";
-import DistributionSponsor from "./HeaderModal/DistributionSponsor";
+import Cancle from "./HeaderModal/Cancle";
import DistributionInvestor from "./HeaderModal/DistributionInvestor";
+import DistributionSponsor from "./HeaderModal/DistributionSponsor";
+import Exit from "./HeaderModal/Exit";
+import FeesExpenses from "./HeaderModal/FeesExpenses";
import UpdateIONav from "./HeaderModal/UpdateIONav";
import UpdateIOStatus from "./HeaderModal/UpdateIOStatus";
-import { useContext, useRef } from "react";
-import GlobalStateContext from "../../../Contexts/GlobalStateContext";
-import Exit from "./HeaderModal/Exit";
-import Cancle from "./HeaderModal/Cancle";
-import { AddIcon } from "@chakra-ui/icons";
-import { GrGallery } from "react-icons/gr";
-import Loader01 from "../../../Components/Loaders/Loader01";
-import { useUpdateTransactionMutation } from "../../../Services/io.service";
-import ToastBox from "../../../Components/ToastBox";
-import { encryptString } from "../../../Constants/Constants";
// import { formatCurrency } from "../../../Components/CurrencyInput";
// import { removeTrailingZeros } from "../../../Constants/Constants";
const ViewIOdataHeader = ({ data, isLoading }) => {
- const params = useParams()
- const toast = useToast();
- const id = params?.id
+ const params = useParams();
+ const toast = useToast();
+ const id = params?.id;
const { isOpen, onOpen, onClose } = useDisclosure();
const btnRef = useRef();
const { IODetails, isIOloading } = useContext(GlobalStateContext);
@@ -113,89 +101,82 @@ const ViewIOdataHeader = ({ data, isLoading }) => {
IODetails?.artifactsImage?.[0]?.artifactPathName
);
- const [updateTransaction] = useUpdateTransactionMutation()
+ const [updateTransaction] = useUpdateTransactionMutation();
- const handleDistributionInvestors = async () =>{
-
+ const handleDistributionInvestors = async () => {
try {
- const res = await updateTransaction(id)
-
- if (res?.data) {
+ const res = await updateTransaction(id);
+
+ if (res?.data) {
// toast({
// render: () => (
//
// ),
// });
// setIsLoading(false);
- onDistInvestorOpen()
-
- } else if (res?.error) {
- toast({
- render: () => (
-
- ),
- });
+ onDistInvestorOpen();
+ } else if (res?.error) {
+ toast({
+ render: () => (
+
+ ),
+ });
// setIsLoading(false);
- }
- } catch (error) {
-
+ }
+ } catch (error) {
+ console.log(error);
}
- }
+ };
- const handleExit = async () =>{
-
+ const handleExit = async () => {
try {
- const res = await updateTransaction(id)
-
- if (res?.data) {
+ const res = await updateTransaction(id);
+
+ if (res?.data) {
// toast({
// render: () => (
//
// ),
// });
// setIsLoading(false);
- onExitOpen()
-
- } else if (res?.error) {
- toast({
- render: () => (
-
- ),
- });
+ onExitOpen();
+ } else if (res?.error) {
+ toast({
+ render: () => (
+
+ ),
+ });
// setIsLoading(false);
- }
- } catch (error) {
-
+ }
+ } catch (error) {
+ console.log(error);
}
- }
+ };
- const handleInvestment = async () =>{
-
+ const handleInvestment = async () => {
try {
- const res = await updateTransaction(id)
-
- if (res?.data) {
+ const res = await updateTransaction(id);
+
+ if (res?.data) {
// toast({
// render: () => (
//
// ),
// });
// setIsLoading(false);
- onInvestmentOpen()
-
- } else if (res?.error) {
- toast({
- render: () => (
-
- ),
- });
+ onInvestmentOpen();
+ } else if (res?.error) {
+ toast({
+ render: () => (
+
+ ),
+ });
// setIsLoading(false);
- }
- } catch (error) {
-
+ }
+ } catch (error) {
+ console.log(error);
}
- }
-
+ };
const menu = [
{
@@ -217,7 +198,7 @@ const ViewIOdataHeader = ({ data, isLoading }) => {
id: 6,
title: "Distribution To Investors",
onClickFunction: handleDistributionInvestors,
- },
+ },
{
id: 5,
title: "Update IO NAV",
@@ -251,8 +232,8 @@ const ViewIOdataHeader = ({ data, isLoading }) => {
apiTransactionTitles?.includes(item.id)
);
-
- const balanceAmount = IODetails?.goalAmount - IODetails?.totalAmtInvestmentInUSD
+ const balanceAmount =
+ IODetails?.goalAmount - IODetails?.totalAmtInvestmentInUSD;
return IODetails?.investmentNameEnglish ? (
{
-
{
-
+
{
-
+
{
IO ID :-
- {IODetails?.io_id
- ? IODetails?.io_id
- : "---"}
+ {IODetails?.io_id ? IODetails?.io_id : "---"}
-
-
-
-
+
{
{/* {IODetails?.ioCash ? formatCurrency(removeTrailingZeros(IODetails?.ioCash)) : "00.00"} */}
- {parseFloat(IODetails?.totalAmtInvestmentInUSD || 0).toLocaleString(undefined, {
- minimumFractionDigits: 2,
- maximumFractionDigits: 2,
- })}
+ {parseFloat(IODetails?.totalAmtInvestmentInUSD || 0).toLocaleString(
+ undefined,
+ {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ }
+ )}
@@ -533,39 +511,41 @@ const ViewIOdataHeader = ({ data, isLoading }) => {
alignItems={"start"}
height={"95px"}
>
- {localStorage?.getItem("role") === encryptString(import.meta.env.VITE_VITE_MAKER) && }
+
+ {filteredMenu?.map(({ id, title, onClickFunction }) => (
+
+ ))}
+
+
+ )}
{/* Modals */}