diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx
index 7b676097bc..8e78cd021b 100644
--- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx
@@ -1,11 +1,13 @@
import { Add, CloudCircle } from '@mui/icons-material';
-import { Button, Divider, styled } from '@mui/material';
+import { Divider, styled } from '@mui/material';
import { IFeatureEnvironment, IFeatureVariant } from 'interfaces/featureToggle';
import { EnvironmentVariantsTable } from './EnvironmentVariantsTable/EnvironmentVariantsTable';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect';
import { useMemo } from 'react';
import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext';
+import PermissionButton from 'component/common/PermissionButton/PermissionButton';
+import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions';
const StyledCard = styled('div')(({ theme }) => ({
padding: theme.spacing(3),
@@ -58,6 +60,7 @@ const StyledGeneralSelect = styled(GeneralSelect)(({ theme }) => ({
}));
interface IEnvironmentVariantsCardProps {
+ projectId: string;
environment: IFeatureEnvironment;
searchValue: string;
onAddVariant: () => void;
@@ -68,6 +71,7 @@ interface IEnvironmentVariantsCardProps {
}
export const EnvironmentVariantsCard = ({
+ projectId,
environment,
searchValue,
onAddVariant,
@@ -127,13 +131,16 @@ export const EnvironmentVariantsCard = ({
onEditVariant={onEditVariant}
onDeleteVariant={onDeleteVariant}
/>
- }
>
add variant
-
+
1}
show={
diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx
index ffeafaec02..ed6dd11cf7 100644
--- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx
@@ -111,6 +111,7 @@ export const EnvironmentVariantsTable = ({
diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx
index ce89938803..c06a66bf9e 100644
--- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx
@@ -1,11 +1,12 @@
import { Edit, Delete } from '@mui/icons-material';
import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton';
import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell';
-import { UPDATE_FEATURE_VARIANTS } from 'component/providers/AccessProvider/permissions';
+import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions';
import { IFeatureVariant } from 'interfaces/featureToggle';
interface IVarintsActionCellProps {
projectId: string;
+ environmentId: string;
variant: IFeatureVariant;
editVariant: (variant: IFeatureVariant) => void;
deleteVariant: (variant: IFeatureVariant) => void;
@@ -13,6 +14,7 @@ interface IVarintsActionCellProps {
export const VariantsActionCell = ({
projectId,
+ environmentId,
variant,
editVariant,
deleteVariant,
@@ -22,8 +24,9 @@ export const VariantsActionCell = ({
editVariant(variant)}
tooltipProps={{
title: 'Edit variant',
@@ -33,9 +36,10 @@ export const VariantsActionCell = ({
deleteVariant(variant)}
tooltipProps={{
title: 'Delete variant',
diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx
index 82eca42ac9..c3416d1a53 100644
--- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx
@@ -14,6 +14,7 @@ interface IEnvironmentVariantsCopyFromProps {
environment: IFeatureEnvironment;
permission: string;
projectId: string;
+ environmentId: string;
onCopyVariantsFrom: (
fromEnvironment: IFeatureEnvironment,
toEnvironment: IFeatureEnvironment
@@ -25,6 +26,7 @@ export const EnvironmentVariantsCopyFrom = ({
environment,
permission,
projectId,
+ environmentId,
onCopyVariantsFrom,
otherEnvsWithVariants,
}: IEnvironmentVariantsCopyFromProps) => {
@@ -48,6 +50,7 @@ export const EnvironmentVariantsCopyFrom = ({
variant="outlined"
permission={permission}
projectId={projectId}
+ environmentId={environmentId}
>
Copy variants from
diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx
index 0f3137d294..95748256ed 100644
--- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx
+++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx
@@ -7,7 +7,7 @@ import { PageHeader } from 'component/common/PageHeader/PageHeader';
import PermissionButton from 'component/common/PermissionButton/PermissionButton';
import { Search } from 'component/common/Search/Search';
import { updateWeight } from 'component/common/util';
-import { UPDATE_FEATURE_VARIANTS } from 'component/providers/AccessProvider/permissions';
+import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions';
import { useFeature } from 'hooks/api/getters/useFeature/useFeature';
import { useRequiredPathParam } from 'hooks/useRequiredPathParam';
import { IFeatureEnvironment, IFeatureVariant } from 'interfaces/featureToggle';
@@ -232,6 +232,7 @@ export const FeatureEnvironmentVariants = () => {
return (
addVariant(environment)}
@@ -252,15 +253,21 @@ export const FeatureEnvironmentVariants = () => {
addVariant(environment)}
variant="outlined"
- permission={UPDATE_FEATURE_VARIANTS}
+ permission={
+ UPDATE_FEATURE_ENVIRONMENT_VARIANTS
+ }
projectId={projectId}
+ environmentId={environment.name}
>
Add variant