diff --git a/frontend/src/component/common/Dialogue/Dialogue.tsx b/frontend/src/component/common/Dialogue/Dialogue.tsx index b9e3b20c38..80fdacc90f 100644 --- a/frontend/src/component/common/Dialogue/Dialogue.tsx +++ b/frontend/src/component/common/Dialogue/Dialogue.tsx @@ -23,6 +23,7 @@ interface IDialogue { maxWidth?: 'lg' | 'sm' | 'xs' | 'md' | 'xl'; disabledPrimaryButton?: boolean; formId?: string; + permissionButton?: React.ReactNode; } const Dialogue: React.FC = ({ @@ -37,6 +38,7 @@ const Dialogue: React.FC = ({ maxWidth = 'sm', fullWidth = false, formId, + permissionButton, }) => { const styles = useStyles(); const handleClick = formId @@ -66,20 +68,26 @@ const Dialogue: React.FC = ({ - {primaryButtonText || "Yes, I'm sure"} - + condition={Boolean(permissionButton)} + show={permissionButton} + elseShow={ + + {primaryButtonText || "Yes, I'm sure"} + + } + /> } /> diff --git a/frontend/src/component/common/EnvironmentStrategiesDialog/EnvironmentStrategyDialog.tsx b/frontend/src/component/common/EnvironmentStrategiesDialog/EnvironmentStrategyDialog.tsx index ae2210910e..0ee68cae2a 100644 --- a/frontend/src/component/common/EnvironmentStrategiesDialog/EnvironmentStrategyDialog.tsx +++ b/frontend/src/component/common/EnvironmentStrategiesDialog/EnvironmentStrategyDialog.tsx @@ -1,6 +1,7 @@ -import React from 'react'; import { useHistory } from 'react-router-dom'; +import { CREATE_FEATURE_STRATEGY } from '../../providers/AccessProvider/permissions'; import Dialogue from '../Dialogue'; +import PermissionButton from '../PermissionButton/PermissionButton'; import { useStyles } from './EnvironmentStrategyDialog.styles'; interface IEnvironmentStrategyDialogProps { @@ -25,10 +26,19 @@ const EnvironmentStrategyDialog = ({ history.push(strategiesLink)} onClose={() => onClose()} title="You need to add a strategy to your toggle" primaryButtonText="Take me directly to add strategy" + permissionButton={ + history.push(strategiesLink)} + > + Take me directly to add strategy + + } secondaryButtonText="Cancel" >

@@ -36,8 +46,8 @@ const EnvironmentStrategyDialog = ({ add an activation strategy.

- You can add the activation strategy by selecting the toggle, open - the environment accordion and add the activation strategy. + You can add the activation strategy by selecting the toggle, + open the environment accordion and add the activation strategy.

); diff --git a/frontend/src/component/common/PermissionButton/PermissionButton.tsx b/frontend/src/component/common/PermissionButton/PermissionButton.tsx index 2dcef4fbc7..161a2ee05c 100644 --- a/frontend/src/component/common/PermissionButton/PermissionButton.tsx +++ b/frontend/src/component/common/PermissionButton/PermissionButton.tsx @@ -4,7 +4,7 @@ import { useContext } from 'react'; import AccessContext from '../../../contexts/AccessContext'; import ConditionallyRender from '../ConditionallyRender'; -interface IPermissionIconButtonProps +export interface IPermissionIconButtonProps extends React.HTMLProps { permission: string | string[]; tooltip?: string; diff --git a/frontend/src/component/feature/FeatureView2/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentStrategies/FeatureOverviewEnvironmentStrategy/FeatureOverviewEnvironmentStrategy.tsx b/frontend/src/component/feature/FeatureView2/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentStrategies/FeatureOverviewEnvironmentStrategy/FeatureOverviewEnvironmentStrategy.tsx index 922be20a21..1ca444e3ca 100644 --- a/frontend/src/component/feature/FeatureView2/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentStrategies/FeatureOverviewEnvironmentStrategy/FeatureOverviewEnvironmentStrategy.tsx +++ b/frontend/src/component/feature/FeatureView2/FeatureOverview/FeatureOverviewEnvironments/FeatureOverviewEnvironment/FeatureOverviewEnvironmentStrategies/FeatureOverviewEnvironmentStrategy/FeatureOverviewEnvironmentStrategy.tsx @@ -8,7 +8,7 @@ import { getHumanReadableStrategyName, } from '../../../../../../../../utils/strategy-names'; import PermissionIconButton from '../../../../../../../common/PermissionIconButton/PermissionIconButton'; -import { UPDATE_FEATURE } from '../../../../../../../providers/AccessProvider/permissions'; +import { UPDATE_FEATURE_STRATEGY } from '../../../../../../../providers/AccessProvider/permissions'; import FeatureStrategyExecution from '../../../../../FeatureStrategies/FeatureStrategyExecution/FeatureStrategyExecution'; import { useStyles } from './FeatureOverviewEnvironmentStrategy.styles'; @@ -36,7 +36,8 @@ const FeatureOverviewEnvironmentStrategy = ({ {getHumanReadableStrategyName(strategy.name)}