From f33ca9db4b08239d0fa61fcaac6d09d8a5e30437 Mon Sep 17 00:00:00 2001
From: olav
Editing
} /> - { const operator = operatorsForContext(contextName)[0]; diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx index 35cdcdbab3..da4a50b9f3 100644 --- a/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView.tsx @@ -41,10 +41,7 @@ export const ConstraintAccordionView = ({ return ({constraint.operator}
+- {constraint?.values?.length} values + {constraint?.values?.length}{' '} + {constraint?.values?.length === 1 + ? 'value' + : 'values'}
Expand to view diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.styles.ts b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.styles.ts new file mode 100644 index 0000000000..80b60a30ec --- /dev/null +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.styles.ts @@ -0,0 +1,30 @@ +import { makeStyles } from '@material-ui/core/styles'; + +export const useStyles = makeStyles(theme => ({ + container: { + padding: '0.5rem 0.75rem', + borderRadius: theme.borders.radius.main, + backgroundColor: theme.palette.grey[200], + lineHeight: 1.25, + }, + name: { + fontSize: theme.fontSizes.smallBody, + }, + text: { + fontSize: theme.fontSizes.smallerBody, + color: theme.palette.grey[700], + }, + not: { + display: 'block', + margin: '-1rem 0 0.25rem 0', + height: '1rem', + '& > span': { + display: 'inline-block', + padding: '0 0.25rem', + borderRadius: theme.borders.radius.main, + fontSize: theme.fontSizes.smallerBody, + backgroundColor: theme.palette.primary.light, + color: 'white', + }, + }, +})); diff --git a/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx new file mode 100644 index 0000000000..d76030518e --- /dev/null +++ b/frontend/src/component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.tsx @@ -0,0 +1,30 @@ +import { IConstraint } from 'interfaces/strategy'; +import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; +import { useStyles } from 'component/common/ConstraintAccordion/ConstraintOperator/ConstraintOperator.styles'; + +interface IConstraintOperatorProps { + constraint: IConstraint; +} + +export const ConstraintOperator = ({ + constraint, +}: IConstraintOperatorProps) => { + const styles = useStyles(); + + const operatorName = constraint.operator; + const operatorText = formatOperatorDescription(constraint.operator); + + const notLabel = constraint.inverted && ( +
+
{parameters[key]}% of your base{' '}
{constraints.length > 0
? 'who match constraints'
@@ -145,7 +125,7 @@ const FeatureOverviewExecution = ({
case 'percentage':
return (
+
{strategy?.parameters[param.name]}% of your base{' '}
{constraints?.length > 0
? 'who match constraints'
@@ -165,7 +145,7 @@ const FeatureOverviewExecution = ({
case 'boolean':
return (
+
+
+