mirror of
https://github.com/Unleash/unleash.git
synced 2024-10-18 20:09:08 +02:00
baae88c7a5
* refactor: add param helper hooks * refactor: remove first add strategy link * refactor: add more types to useStrategies * refactor: port strategy utils to TS * refactor: replace rollout strategy icon * refactor: use a named export for useFeature * refactor: add more types to useFeature * refactor: adjust code box styles * refactor: add missing PermissionButton variant prop * refactor: add missing button icon label * refactor: move common feature components * refactor: fix StrategyConstraints error prop types * refactor: fix GeneralStrategy prop types * feat: add new feature strategy create/edit pages * refactor: remove feature strategies page * refactor: fix types in GeneralStrategy * refactor: use ConstraintAccordion on the new pages * refactor: use ConditionallyRender for remove button * refactor: rename FeatureStrategyForm component * refactor: use the Edit icon for feature strategies * refactor: fix initial edit mode for new constraints * refactor: add FeatureStrategyMenu to closed accordions * refactor: allow editing multiple constraints * refactor: show single-valued constraint value * refactor: increase feature overview strategy width * refactor: add remove button to feature overview strategies * refactor: move createEmptyConstraint to own file * refactor: disable submit button for invalid constraints * refactor: fix nested paragraphs on the metrics page * refactor: move create/edit feature strategy to modal * refactor: always open new constraints in edit mode * refactor: use a PermissionButton for the save button * refactor: remvoe unsaved constraints on cancel * refactor: clarify useConstraintsValidation logic * refactor: remove unused strategy descriptions * refactor: restore Rollout icon * refactor: remove sidebar modal slide animation * refactor: avoid constraint accordion toggle on edit/delete * refactor: truncate long strategy names * refactor: find the correct remove button
51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
import NoItems from '../../../common/NoItems/NoItems';
|
|
import StringTruncator from '../../../common/StringTruncator/StringTruncator';
|
|
import { useStyles } from './FeatureStrategyEmpty.styles';
|
|
import { FeatureStrategyMenu } from '../FeatureStrategyMenu/FeatureStrategyMenu';
|
|
|
|
interface IFeatureStrategyEmptyProps {
|
|
projectId: string;
|
|
featureId: string;
|
|
environmentId: string;
|
|
}
|
|
|
|
export const FeatureStrategyEmpty = ({
|
|
projectId,
|
|
featureId,
|
|
environmentId,
|
|
}: IFeatureStrategyEmptyProps) => {
|
|
const styles = useStyles();
|
|
|
|
return (
|
|
<NoItems>
|
|
<p className={styles.noItemsParagraph}>
|
|
No strategies added in the{' '}
|
|
<StringTruncator
|
|
text={environmentId}
|
|
maxWidth={'130'}
|
|
className={styles.envName}
|
|
/>{' '}
|
|
environment
|
|
</p>
|
|
<p className={styles.noItemsParagraph}>
|
|
Strategies added in this environment will only be executed if
|
|
the SDK is using an API key configured for this environment.
|
|
<a
|
|
className={styles.link}
|
|
href="https://docs.getunleash.io/user_guide/environments"
|
|
target="_blank"
|
|
rel="noreferrer"
|
|
>
|
|
Read more here
|
|
</a>
|
|
</p>
|
|
<FeatureStrategyMenu
|
|
label="Add your first strategy"
|
|
projectId={projectId}
|
|
featureId={featureId}
|
|
environmentId={environmentId}
|
|
/>
|
|
</NoItems>
|
|
);
|
|
};
|