From 60f4ce31f75f2b8ac1e9a7ec8f2d8fc0e21b399c Mon Sep 17 00:00:00 2001 From: Jaanus Sellin Date: Mon, 19 Jun 2023 11:31:08 +0300 Subject: [PATCH] fix: usage of default strategy (#3995) --- .../FeatureStrategyCreate.tsx | 3 ++- .../FeatureStrategyMenuCard.tsx | 3 ++- .../FeatureStrategyMenuCards.tsx | 20 +++---------------- .../EditDefaultStrategy.tsx | 2 +- 4 files changed, 8 insertions(+), 20 deletions(-) diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx index e047b96589..c9d433f09f 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyCreate/FeatureStrategyCreate.tsx @@ -33,6 +33,7 @@ import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import useQueryParams from 'hooks/useQueryParams'; import useProject from 'hooks/api/getters/useProject/useProject'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; +import { DEFAULT_STRATEGY } from '../../../project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy'; export const FeatureStrategyCreate = () => { const projectId = useRequiredPathParam('projectId'); @@ -98,7 +99,7 @@ export const FeatureStrategyCreate = () => { useEffect(() => { if (useDefaultStrategy) { - setStrategy((defaultStrategy as any) || {}); + setStrategy((defaultStrategy as any) || DEFAULT_STRATEGY); } else if (strategyDefinition) { setStrategy(createFeatureStrategy(featureId, strategyDefinition)); } diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx index 1e3455905e..f3f900ac72 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCard/FeatureStrategyMenuCard.tsx @@ -12,7 +12,8 @@ interface IFeatureStrategyMenuCardProps { projectId: string; featureId: string; environmentId: string; - strategy: IStrategy; + strategy: Pick & + Partial; defaultStrategy?: boolean; } diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx index 466935cef8..ea7f905920 100644 --- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx +++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyMenu/FeatureStrategyMenuCards/FeatureStrategyMenuCards.tsx @@ -2,8 +2,6 @@ import { List, ListItem, styled, Typography } from '@mui/material'; import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies'; import { FeatureStrategyMenuCard } from '../FeatureStrategyMenuCard/FeatureStrategyMenuCard'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; -import useProject from 'hooks/api/getters/useProject/useProject'; -import { IStrategy } from 'interfaces/strategy'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; interface IFeatureStrategyMenuCardsProps { @@ -33,28 +31,16 @@ export const FeatureStrategyMenuCards = ({ strategy => !strategy.deprecated && strategy.editable ); - const { project } = useProject(projectId); - - const strategy = project.environments.find( - env => env.environment === environmentId - )?.defaultStrategy; - - const defaultStrategy: IStrategy = { + const defaultStrategy = { name: 'flexibleRollout', displayName: 'Default strategy', description: 'This is the default strategy defined for this environment in the project', - parameters: [], - editable: false, - deprecated: false, }; return ( @@ -65,7 +51,7 @@ export const FeatureStrategyMenuCards = ({ projectId={projectId} featureId={featureId} environmentId={environmentId} - strategy={defaultStrategy!} + strategy={defaultStrategy} defaultStrategy={true} /> diff --git a/frontend/src/component/project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy.tsx b/frontend/src/component/project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy.tsx index eed5d445f9..0e8b003c68 100644 --- a/frontend/src/component/project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy.tsx +++ b/frontend/src/component/project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy.tsx @@ -20,7 +20,7 @@ import { ProjectDefaultStrategyForm } from './ProjectDefaultStrategyForm'; import { CreateFeatureStrategySchema } from 'openapi'; import useProject from 'hooks/api/getters/useProject/useProject'; -const DEFAULT_STRATEGY = { +export const DEFAULT_STRATEGY = { name: 'flexibleRollout', constraints: [], parameters: {