1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-04 00:18:01 +01:00
unleash.unleash/frontend/src/component/segments/SegmentDocs.tsx
Nuno Góis 6a8ed55c63
feat: better segment info (#3243)
## About the changes

- Updates the segment information on top to be clearer - No longer an
experimental feature, but we do have some limits in place;
- Also updates the documentation to better reflect this;

Co-authored-by: @thomasheartman


![image](https://user-images.githubusercontent.com/14320932/222380864-029e7eef-bcee-4576-b9af-22a591d494a9.png)

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
Co-authored-by: Gastón Fournier <gaston@getunleash.ai>
2023-03-02 14:13:27 +00:00

80 lines
2.2 KiB
TypeScript

import { Alert } from '@mui/material';
import { useSegmentLimits } from 'hooks/api/getters/useSegmentLimits/useSegmentLimits';
export const SegmentDocsValuesInfo = () => {
const { segmentValuesLimit } = useSegmentLimits();
if (typeof segmentValuesLimit === 'undefined') {
return null;
}
return (
<Alert severity="info">
A segment can have{' '}
<a
href="https://docs.getunleash.io/reference/segments#segment-limits"
target="_blank"
rel="noreferrer"
>
at most {segmentValuesLimit} across all of its contraints
</a>
. <SegmentLimitsLink />
</Alert>
);
};
export const SegmentDocsValuesError = (props: { values: number }) => {
const { segmentValuesLimit } = useSegmentLimits();
if (typeof segmentValuesLimit === 'undefined') {
return null;
}
return (
<Alert severity="error">
A segment can have{' '}
<a
href="https://docs.getunleash.io/reference/segments#segment-limits"
target="_blank"
rel="noreferrer"
>
at most {segmentValuesLimit} across all of its contraints
</a>
. This segment has {props.values}{' '}
{props.values === 1 ? 'value' : 'values'}.
</Alert>
);
};
export const SegmentDocsStrategyWarning = () => {
const { strategySegmentsLimit } = useSegmentLimits();
if (typeof strategySegmentsLimit === 'undefined') {
return null;
}
return (
<Alert severity="warning">
You can't apply more than {strategySegmentsLimit} segments to a
strategy. <SegmentLimitsLink />
</Alert>
);
};
const SegmentLimitsLink = () => {
return (
<>
<a
href="https://slack.unleash.run"
target="_blank"
rel="noreferrer"
>
Get in touch
</a>{' '}
if you'd like to increase this limit.
</>
);
};
export const segmentsDocsLink = 'https://docs.getunleash.io/reference/segments';