1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-24 17:51:14 +02:00
unleash.unleash/frontend/src/component/common/EnvironmentStrategiesDialog/EnvironmentStrategyDialog.tsx
Youssef Khedher be3a26529a feat: update dialog to accept permissions (#627)
* feat: update dialog to accept permissions

* refactor: make dialog component accept permission button

* fix: remove unused dependencies

* fix: update button permissions

Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
2022-01-26 10:58:35 +01:00

57 lines
2.0 KiB
TypeScript

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 {
open: boolean;
featureId: string;
projectId: string;
onClose: () => void;
environmentName?: string;
}
const EnvironmentStrategyDialog = ({
open,
environmentName,
featureId,
projectId,
onClose,
}: IEnvironmentStrategyDialogProps) => {
const styles = useStyles();
const history = useHistory();
const strategiesLink = `/projects/${projectId}/features2/${featureId}/strategies?environment=${environmentName}&addStrategy=true`;
return (
<Dialogue
open={open}
maxWidth="sm"
onClose={() => onClose()}
title="You need to add a strategy to your toggle"
primaryButtonText="Take me directly to add strategy"
permissionButton={
<PermissionButton
permission={CREATE_FEATURE_STRATEGY}
projectId={projectId}
environmentId={environmentName}
onClick={() => history.push(strategiesLink)}
>
Take me directly to add strategy
</PermissionButton>
}
secondaryButtonText="Cancel"
>
<p className={styles.infoText}>
Before you can enable the toggle in the environment, you need to
add an activation strategy.
</p>
<p className={styles.infoText}>
You can add the activation strategy by selecting the toggle,
open the environment accordion and add the activation strategy.
</p>
</Dialogue>
);
};
export default EnvironmentStrategyDialog;