1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-06-27 01:19:00 +02:00

feat: now only recents show segments that are not being used currently (#9983)

Now only recents show segments that are not being used currently
This commit is contained in:
Jaanus Sellin 2025-05-14 09:40:33 +03:00 committed by GitHub
parent 96a388298f
commit 9bd69a852e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 3 deletions

View File

@ -106,7 +106,10 @@ export const FeatureStrategySegment = ({
segments={selectedSegments} segments={selectedSegments}
setSegments={setSelectedSegments} setSegments={setSelectedSegments}
/> />
<RecentlyUsedSegments setSegments={setSelectedSegments} /> <RecentlyUsedSegments
setSegments={setSelectedSegments}
segments={selectedSegments}
/>
</> </>
); );
}; };

View File

@ -7,6 +7,7 @@ import { useUiFlag } from 'hooks/useUiFlag';
type RecentlyUsedSegmentsProps = { type RecentlyUsedSegmentsProps = {
setSegments?: React.Dispatch<React.SetStateAction<ISegment[]>>; setSegments?: React.Dispatch<React.SetStateAction<ISegment[]>>;
segments?: ISegment[];
}; };
const StyledContainer = styled('div')(({ theme }) => ({ const StyledContainer = styled('div')(({ theme }) => ({
@ -27,6 +28,7 @@ const StyledSegmentsContainer = styled('div')(({ theme }) => ({
export const RecentlyUsedSegments = ({ export const RecentlyUsedSegments = ({
setSegments, setSegments,
segments = [],
}: RecentlyUsedSegmentsProps) => { }: RecentlyUsedSegmentsProps) => {
const { items: recentlyUsedSegmentIds } = useRecentlyUsedSegments(); const { items: recentlyUsedSegmentIds } = useRecentlyUsedSegments();
const { segments: allSegments } = useSegments(); const { segments: allSegments } = useSegments();
@ -45,7 +47,11 @@ export const RecentlyUsedSegments = ({
.map((id) => allSegments.find((segment) => segment.id === id)) .map((id) => allSegments.find((segment) => segment.id === id))
.filter((segment) => segment !== undefined) as ISegment[]; .filter((segment) => segment !== undefined) as ISegment[];
if (segmentObjects.length === 0) { const filteredSegmentObjects = segmentObjects.filter(
(segment) => !segments.some((selected) => selected.id === segment.id),
);
if (filteredSegmentObjects.length === 0) {
return null; return null;
} }
@ -53,7 +59,7 @@ export const RecentlyUsedSegments = ({
<StyledContainer> <StyledContainer>
<StyledHeader>Recently used segments</StyledHeader> <StyledHeader>Recently used segments</StyledHeader>
<StyledSegmentsContainer> <StyledSegmentsContainer>
{segmentObjects.map((segment) => ( {filteredSegmentObjects.map((segment) => (
<RecentlyUsedSegmentChip <RecentlyUsedSegmentChip
key={segment.id} key={segment.id}
segment={segment} segment={segment}