mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-19 17:52:45 +02:00
What it says on the tin Closes # [1-1512](https://linear.app/unleash/issue/1-1512/grey-out-everything-icons-labels-etc-when-strategy-is-disabled) <img width="689" alt="Screenshot 2023-10-20 at 12 25 51" src="https://github.com/Unleash/unleash/assets/104830839/3192a125-0e2a-46f2-a266-e4d6c171bdad"> <img width="711" alt="Screenshot 2023-10-20 at 14 52 30" src="https://github.com/Unleash/unleash/assets/104830839/15040439-c059-4725-9518-82e363fd7230"> --------- Signed-off-by: andreas-unleash <andreas@getunleash.ai>
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
import { IConstraint } from 'interfaces/strategy';
|
|
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription';
|
|
import React from 'react';
|
|
import { styled } from '@mui/material';
|
|
|
|
interface IConstraintOperatorProps {
|
|
constraint: IConstraint;
|
|
hasPrefix?: boolean;
|
|
disabled?: boolean;
|
|
}
|
|
|
|
const StyledContainer = styled('div')(({ theme }) => ({
|
|
padding: theme.spacing(0.5, 1.5),
|
|
borderRadius: theme.shape.borderRadius,
|
|
backgroundColor: theme.palette.background.elevation2,
|
|
lineHeight: 1.25,
|
|
}));
|
|
|
|
const StyledName = styled('div', {
|
|
shouldForwardProp: (prop) => prop !== 'disabled',
|
|
})<{ disabled: boolean }>(({ theme, disabled }) => ({
|
|
fontSize: theme.fontSizes.smallBody,
|
|
lineHeight: 17 / 14,
|
|
color: disabled ? theme.palette.text.secondary : theme.palette.text.primary,
|
|
}));
|
|
|
|
const StyledText = styled('div', {
|
|
shouldForwardProp: (prop) => prop !== 'disabled',
|
|
})<{ disabled: boolean }>(({ theme, disabled }) => ({
|
|
fontSize: theme.fontSizes.smallerBody,
|
|
color: disabled ? theme.palette.text.secondary : theme.palette.neutral.main,
|
|
}));
|
|
|
|
export const ConstraintOperator = ({
|
|
constraint,
|
|
hasPrefix,
|
|
disabled = false,
|
|
}: IConstraintOperatorProps) => {
|
|
const operatorName = constraint.operator;
|
|
const operatorText = formatOperatorDescription(constraint.operator);
|
|
|
|
return (
|
|
<StyledContainer
|
|
style={{
|
|
borderTopLeftRadius: hasPrefix ? 0 : undefined,
|
|
borderBottomLeftRadius: hasPrefix ? 0 : undefined,
|
|
paddingLeft: hasPrefix ? 0 : undefined,
|
|
}}
|
|
>
|
|
<StyledName disabled={disabled}>{operatorName}</StyledName>
|
|
<StyledText disabled={disabled}>{operatorText}</StyledText>
|
|
</StyledContainer>
|
|
);
|
|
};
|