diff --git a/frontend/src/component/common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert.tsx b/frontend/src/component/common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert.tsx index cc579e1ff7..3389ed80d3 100644 --- a/frontend/src/component/common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert.tsx +++ b/frontend/src/component/common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert.tsx @@ -4,12 +4,21 @@ export const StrategyVariantsUpgradeAlert = () => { return ( Remember to update your Unleash client! Strategy variants require - new SDK versions. . + new SDK versions. . ); }; -const DocsLink = () => { +export const StrategyVariantsPreferredAlert = () => { + return ( + + If you want advanced targeting capabilities you should use{' '} + variants inside strategies. + + ); +}; + +const DocsSdkSupportLink = () => { return ( { ); }; + +const DocsLink = () => { + return ( + + Read more + + ); +}; diff --git a/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx b/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx new file mode 100644 index 0000000000..7e7d3e233d --- /dev/null +++ b/frontend/src/component/common/VariantInfoAlert/VariantInfoAlert.tsx @@ -0,0 +1,23 @@ +import { Alert, styled } from '@mui/material'; +import { FC } from 'react'; + +const StyledAlert = styled(Alert)(({ theme }) => ({ + marginBottom: theme.spacing(2), + '& code': { + fontWeight: theme.fontWeight.bold, + }, +})); +export const VariantInfoAlert: FC<{ mode: 'feature' | 'strategy' }> = ({ + mode, +}) => { + return ( + + Variant allows you to return a variant object if the{' '} + {mode === 'feature' + ? 'feature toggle is considered enabled ' + : 'this strategy is active '} + for the current request. When using variants you should use the{' '} + getVariant() method in the Client SDK. + + ); +}; diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx index dc284aad4c..8abcb9e4d8 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsModal/EnvironmentVariantsModal.tsx @@ -324,7 +324,7 @@ export const EnvironmentVariantsModal = ({ ({ - marginBottom: theme.spacing(4), - '& code': { - fontWeight: theme.fontWeight.bold, - }, -})); +import { VariantInfoAlert } from 'component/common/VariantInfoAlert/VariantInfoAlert'; +import { StrategyVariantsPreferredAlert } from 'component/common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert'; +import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; const StyledButtonContainer = styled('div')(({ theme }) => ({ display: 'flex', @@ -41,6 +37,7 @@ const StyledButtonContainer = styled('div')(({ theme }) => ({ })); export const FeatureEnvironmentVariants = () => { + const { uiConfig } = useUiConfig(); const { setToastData, setToastApiError } = useToast(); const theme = useTheme(); const isSmallScreen = useMediaQuery(theme.breakpoints.down('md')); @@ -269,12 +266,12 @@ export const FeatureEnvironmentVariants = () => { } > - - Variants allows you to return a variant object if the feature - toggle is considered enabled for the current request. When using - variants you should use the getVariant() method in - the Client SDK. - + + } + /> + {environments.map(environment => { const otherEnvsWithVariants = environments.filter( ({ name, variants }) => diff --git a/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx b/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx index 8f5149318d..d14e3d488e 100644 --- a/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx +++ b/frontend/src/component/feature/StrategyTypes/StrategyVariants.tsx @@ -12,6 +12,7 @@ import SplitPreviewSlider from './SplitPreviewSlider/SplitPreviewSlider'; import { HelpIcon } from '../../common/HelpIcon/HelpIcon'; import { StrategyVariantsUpgradeAlert } from '../../common/StrategyVariantsUpgradeAlert/StrategyVariantsUpgradeAlert'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; +import { VariantInfoAlert } from '../../common/VariantInfoAlert/VariantInfoAlert'; const StyledVariantForms = styled('div')({ display: 'flex', @@ -119,6 +120,7 @@ export const StrategyVariants: FC<{ /> + {variantsEdit.map((variant, i) => (