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[];