From 9f983f4ed65654dd6d4b8c8a103ed714b0db288b Mon Sep 17 00:00:00 2001 From: Mateusz Kwasniewski Date: Tue, 29 Nov 2022 12:42:36 +0100 Subject: [PATCH] min approvals from cr not config (#2556) --- .../ChangeRequestOverview.tsx | 3 +- .../ChangeRequestReviewStatus.tsx | 67 +++++++------------ .../changeRequest/changeRequest.types.ts | 1 + 3 files changed, 25 insertions(+), 46 deletions(-) diff --git a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx index da721698c8..8857f37341 100644 --- a/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx +++ b/frontend/src/component/changeRequest/ChangeRequestOverview/ChangeRequestOverview.tsx @@ -197,8 +197,7 @@ export const ChangeRequestOverview: FC = () => { } /> { - const { data } = useChangeRequestConfig(projectId); - - const getChangeRequestRequiredApprovals = React.useCallback( - (environment: string): number => { - const config = data.find(draft => { - return ( - draft.environment === environment && - draft.changeRequestEnabled - ); - }); - - return config?.requiredApprovals || 1; - }, - [data] - ); - - return { - getChangeRequestRequiredApprovals, - }; -}; - const resolveBorder = (state: ChangeRequestState, theme: Theme) => { if (state === 'Approved') { return `2px solid ${theme.palette.success.main}`; @@ -76,30 +54,35 @@ const resolveIconColors = (state: ChangeRequestState, theme: Theme) => { export const ChangeRequestReviewStatus: FC< ISuggestChangeReviewsStatusProps -> = ({ state, environment }) => { +> = ({ changeRequest }) => { const theme = useTheme(); return ( - + - - + + ); }; interface IResolveComponentProps { - state: ChangeRequestState; - environment: string; + changeRequest: IChangeRequest; } -const ResolveComponent = ({ state, environment }: IResolveComponentProps) => { +const ResolveComponent = ({ changeRequest }: IResolveComponentProps) => { + const { state } = changeRequest; + if (!state) { return null; } @@ -116,7 +99,7 @@ const ResolveComponent = ({ state, environment }: IResolveComponentProps) => { return ; } - return ; + return ; }; const Approved = () => { @@ -151,15 +134,11 @@ const Approved = () => { }; interface IReviewRequiredProps { - environment: string; + minApprovals: number; } -const ReviewRequired = ({ environment }: IReviewRequiredProps) => { +const ReviewRequired = ({ minApprovals }: IReviewRequiredProps) => { const theme = useTheme(); - const projectId = useRequiredPathParam('projectId'); - const { getChangeRequestRequiredApprovals } = - useChangeRequestRequiredApprovals(projectId); - const approvals = getChangeRequestRequiredApprovals(environment); return ( <> @@ -170,8 +149,8 @@ const ReviewRequired = ({ environment }: IReviewRequiredProps) => { Review required - At least {approvals} approvals must be submitted before - changes can be applied + At least {minApprovals} approval(s) must be submitted + before changes can be applied diff --git a/frontend/src/component/changeRequest/changeRequest.types.ts b/frontend/src/component/changeRequest/changeRequest.types.ts index 3eb076a88c..82ab9d1095 100644 --- a/frontend/src/component/changeRequest/changeRequest.types.ts +++ b/frontend/src/component/changeRequest/changeRequest.types.ts @@ -6,6 +6,7 @@ export interface IChangeRequest { state: ChangeRequestState; project: string; environment: string; + minApprovals: number; createdBy: Pick; createdAt: Date; features: IChangeRequestFeature[];