From 3476e0f8fba39d8037983d671dd32b220aaeb3d9 Mon Sep 17 00:00:00 2001 From: sanjay-k1910 Date: Mon, 20 Nov 2023 13:45:45 +0530 Subject: [PATCH 1/2] refactor: endorsement card Signed-off-by: sanjay-k1910 --- .../Ecosystem/Endorsement/EndorsementCard.tsx | 52 +++++++++++++------ .../Ecosystem/Endorsement/index.tsx | 3 +- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/components/Ecosystem/Endorsement/EndorsementCard.tsx b/src/components/Ecosystem/Endorsement/EndorsementCard.tsx index 2c4e5678f..ee0769842 100644 --- a/src/components/Ecosystem/Endorsement/EndorsementCard.tsx +++ b/src/components/Ecosystem/Endorsement/EndorsementCard.tsx @@ -14,6 +14,11 @@ interface IProps { onClickCallback?: (data: any) => void; } +interface IAttributeData { + data: string[], + sliced: boolean +} + const EndorsementCard = ({ fromEndorsementList, data, onClickCallback, cardTransitionDisabled, allAttributes }: IProps) => { const [isEcosystemLead, setIsEcosystemLead] = useState(false); const isSchema = data?.type === EndorsementType.schema @@ -26,30 +31,47 @@ const EndorsementCard = ({ fromEndorsementList, data, onClickCallback, cardTrans checkEcosystemData(); }, []) - const getAttributes = () => { + const isSliced = (list: string[]): boolean => { + return Boolean(list && list?.length > 3) + } + + const getAttributes = (): IAttributeData | null => { try { switch (true) { case isSchema: if (requestData?.attr_names && requestData?.attr_names.length > 0) { if (allAttributes) { - return requestData?.attr_names + return { + data: requestData?.attr_names, + sliced: isSliced(requestData?.attr_names) + } + } + return { + data: requestData?.attr_names?.slice(0, 3), + sliced: isSliced(requestData?.attr_names) } - return requestData?.attr_names?.slice(0, 3) } - return [] + return null case !isSchema: if (data?.requestBody && data?.requestBody?.schemaDetails && data?.requestBody?.schemaDetails?.attributes && data?.requestBody?.schemaDetails?.attributes.length > 0) { if (allAttributes) { - return data?.requestBody?.schemaDetails?.attributes + return { + data: data?.requestBody?.schemaDetails?.attributes, + sliced: isSliced(data?.requestBody?.schemaDetails?.attributes) + } + } + return { + data: data?.requestBody?.schemaDetails?.attributes?.slice(0, 3), + sliced: isSliced(data?.requestBody?.schemaDetails?.attributes) } - return data?.requestBody?.schemaDetails?.attributes?.slice(0, 3) } - return [] + return null default: - return [] + return null } } catch (err) { console.log("Attribute Error::", err) + return null } } @@ -58,7 +80,7 @@ const EndorsementCard = ({ fromEndorsementList, data, onClickCallback, cardTrans const requestPayload = data?.requestPayload && JSON.parse(data?.requestPayload) const requestData = isSchema ? requestPayload?.operation?.data : requestPayload?.operation - const attributesData = getAttributes() + const attributesData: IAttributeData | null = getAttributes() return ( { @@ -66,11 +88,11 @@ const EndorsementCard = ({ fromEndorsementList, data, onClickCallback, cardTrans onClickCallback(data) } }} -id="schema-cards" -className={`${cardTransitionDisabled ? "" : "transform transition duration-500 hover:scale-105 hover:bg-gray-50 min-[w-320px]: cursor-default"} ${enableAction && "lg:cursor-pointer cursor-default" }${ cardTransitionDisabled ? "cursor-default" : "lg:cursor-not-allowed cursor-default"} ${cardTransitionDisabled && "shadow-none"} m-3 h-full`} + id="schema-cards" + className={`${cardTransitionDisabled ? "" : "transform transition duration-500 hover:scale-105 hover:bg-gray-50 min-[w-320px]: cursor-default"} ${enableAction && "lg:cursor-pointer cursor-default"}${cardTransitionDisabled ? "cursor-default" : "lg:cursor-not-allowed cursor-default"} ${cardTransitionDisabled && "shadow-none"} m-3 h-full`} >
-
+
{isSchema ? requestData?.name : requestData?.tag}
@@ -131,7 +153,7 @@ className={`${cardTransitionDisabled ? "" : "transform transition duration-500 h

}
- {attributesData && attributesData.length > 0 && + {attributesData?.data && attributesData?.data?.length > 0 &&
  • @@ -141,7 +163,7 @@ className={`${cardTransitionDisabled ? "" : "transform transition duration-500 h
- {attributesData.map((element: string | { attributeName: string }) => { + {attributesData?.data?.map((element: string | { attributeName: string }) => { const attribute = typeof element === "string" ? element : element?.attributeName return (
@@ -154,7 +176,7 @@ className={`${cardTransitionDisabled ? "" : "transform transition duration-500 h
) })} - {!allAttributes && attributesData.length === 3 && ...} + {!allAttributes && attributesData.sliced && ...}
diff --git a/src/components/Ecosystem/Endorsement/index.tsx b/src/components/Ecosystem/Endorsement/index.tsx index 379700b19..4dfe76fce 100644 --- a/src/components/Ecosystem/Endorsement/index.tsx +++ b/src/components/Ecosystem/Endorsement/index.tsx @@ -274,8 +274,7 @@ const EndorsementList = () => { )} {schemaList && schemaList.length > 0 ? (
{schemaList.map((item: IEndorsementList) => ( From b345148afa3a25aa26d548cb84c8dc037c51f590 Mon Sep 17 00:00:00 2001 From: sanjay-k1910 Date: Mon, 20 Nov 2023 19:48:55 +0530 Subject: [PATCH 2/2] refactor: forbidden resource issue for user and ecosystem dashboard Signed-off-by: sanjay-k1910 --- src/commonComponents/EcosystemProfileCard.tsx | 7 ++- src/components/Ecosystem/Dashboard.tsx | 49 +++++++++---------- src/components/EmptyListComponent/index.tsx | 5 +- src/components/User/UserDashBoard.tsx | 17 +++++-- 4 files changed, 45 insertions(+), 33 deletions(-) diff --git a/src/commonComponents/EcosystemProfileCard.tsx b/src/commonComponents/EcosystemProfileCard.tsx index 3e2da26fb..2d61e2966 100644 --- a/src/commonComponents/EcosystemProfileCard.tsx +++ b/src/commonComponents/EcosystemProfileCard.tsx @@ -126,12 +126,15 @@ const EcosystemProfileCard = () => {
) : !ecosystemDetails && loading ? ( - +
+ +
) : } /> diff --git a/src/components/Ecosystem/Dashboard.tsx b/src/components/Ecosystem/Dashboard.tsx index 202f211ed..0a36cb03d 100644 --- a/src/components/Ecosystem/Dashboard.tsx +++ b/src/components/Ecosystem/Dashboard.tsx @@ -1,6 +1,6 @@ import type { IEcosystem } from './interfaces'; import { apiStatusCodes, storageKeys } from '../../config/CommonConstant'; -import { useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { Features } from '../../utils/enums/features'; import type { AxiosResponse } from 'axios'; import BreadCrumbs from '../BreadCrumbs'; @@ -22,8 +22,7 @@ import { Button, Dropdown } from 'flowbite-react'; import EditPopupModal from '../EditEcosystemOrgModal'; import { getFromLocalStorage, - removeFromLocalStorage, - setToLocalStorage, + removeFromLocalStorage } from '../../api/Auth'; import { getUserEcosystemInvitations } from '../../api/invitations'; import { pathRoutes } from '../../config/pathRoutes'; @@ -31,7 +30,7 @@ import type { EcosystemDashboard } from '../organization/interfaces'; import { dateConversion } from '../../utils/DateConversion'; import DateTooltip from '../Tooltip'; import DashboardCard from '../../commonComponents/DashboardCard'; -import React from 'react'; +import { Roles } from '../../utils/enums/roles'; interface IRoleTablet { role: string; @@ -135,7 +134,7 @@ const Dashboard = () => { ecosystemData?.ecosystemOrgs.length > 0 && ecosystemData?.ecosystemOrgs[0]; setEcosystemDetails({ - autoEndorsement:ecosystemData?.autoEndorsement, + autoEndorsement: ecosystemData?.autoEndorsement, id: ecosystemData?.id, logoUrl: ecosystemData?.logoUrl, name: ecosystemData?.name, @@ -191,7 +190,10 @@ const Dashboard = () => { }; const getDashboardData = async () => { - await checkOrgId(); + const role = await getFromLocalStorage(storageKeys.ORG_ROLES) + if (role === Roles.OWNER) { + await checkOrgId(); + } await fetchEcosystemDetails(); await fetchEcosystemDashboard(); }; @@ -288,14 +290,12 @@ const Dashboard = () => { {ecosystemDetails ? (
{ecosystemDetails?.logoUrl ? ( @@ -351,15 +351,15 @@ const Dashboard = () => {
)} -
- - Endorsement Flow - {' '} - : - - {ecosystemDetails.autoEndorsement ? ' Sign and Submit' : ' Sign'} - -
+
+ + Endorsement Flow + {' '} + : + + {ecosystemDetails.autoEndorsement ? ' Sign and Submit' : ' Sign'} + +
) : ( @@ -371,7 +371,7 @@ const Dashboard = () => {
)} - + {isEcosystemLead && (