diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx
index 7c1b0d0445..9a1f5e90a5 100644
--- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx
+++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/FeatureStrategyConstraintAccordionList/FeatureStrategyConstraintAccordionList.tsx
@@ -139,6 +139,7 @@ export const FeatureStrategyConstraintAccordionList = forwardRef<
show={
}
/>
diff --git a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/RecentlyUsedConstraints/RecentlyUsedConstraints.tsx b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/RecentlyUsedConstraints/RecentlyUsedConstraints.tsx
index 9e3f9413ea..0932c039d0 100644
--- a/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/RecentlyUsedConstraints/RecentlyUsedConstraints.tsx
+++ b/frontend/src/component/feature/FeatureStrategy/FeatureStrategyConstraints/RecentlyUsedConstraints/RecentlyUsedConstraints.tsx
@@ -1,11 +1,15 @@
import { styled, Typography } from '@mui/material';
import { ConstraintAccordionView } from 'component/common/NewConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView';
import { constraintId } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
-import { useRecentlyUsedConstraints } from './useRecentlyUsedConstraints';
+import {
+ useRecentlyUsedConstraints,
+ areConstraintsEqual,
+} from './useRecentlyUsedConstraints';
import type { IConstraint } from 'interfaces/strategy';
type IRecentlyUsedConstraintsProps = {
setConstraints?: React.Dispatch>;
+ constraints?: IConstraint[];
};
const StyledContainer = styled('div')(({ theme }) => ({
@@ -26,6 +30,7 @@ const StyledConstraintsContainer = styled('div')(({ theme }) => ({
export const RecentlyUsedConstraints = ({
setConstraints,
+ constraints = [],
}: IRecentlyUsedConstraintsProps) => {
const { items: recentlyUsedConstraints } = useRecentlyUsedConstraints();
@@ -33,11 +38,22 @@ export const RecentlyUsedConstraints = ({
return null;
}
+ const nonSelectedRecentConstraints = recentlyUsedConstraints.filter(
+ (recentConstraint) =>
+ !constraints.some((constraint) =>
+ areConstraintsEqual(constraint, recentConstraint),
+ ),
+ );
+
+ if (nonSelectedRecentConstraints.length === 0) {
+ return null;
+ }
+
return (
Recently used constraints
- {recentlyUsedConstraints.map((constraint) => (
+ {nonSelectedRecentConstraints.map((constraint) => (
allSegments.find((segment) => segment.id === id))
.filter((segment) => segment !== undefined) as ISegment[];
- const filteredSegmentObjects = segmentObjects.filter(
+ const nonSelectedRecentSegments = segmentObjects.filter(
(segment) => !segments.some((selected) => selected.id === segment.id),
);
- if (filteredSegmentObjects.length === 0) {
+ if (nonSelectedRecentSegments.length === 0) {
return null;
}
@@ -59,7 +59,7 @@ export const RecentlyUsedSegments = ({
Recently used segments
- {filteredSegmentObjects.map((segment) => (
+ {nonSelectedRecentSegments.map((segment) => (