mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-28 17:55:15 +02:00
* refactor: extract SegmentEmpty component * refactor: extract CreateSegmentButton component * refactor: extract EditSegmentButton component * refactor: extract RemoveSegmentButton component * refactor: normalize Created table header text * refactor: port segments list to react-table * fix: improve row text height in table row * fix: update test snapshots * refactor table cell with search highlight * fix: update after review Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com> Co-authored-by: Tymoteusz Czech <tymek+gpg@getunleash.ai>
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
|
import { useStrategiesBySegment } from 'hooks/api/getters/useStrategiesBySegment/useStrategiesBySegment';
|
|
import { ISegment } from 'interfaces/segment';
|
|
import React from 'react';
|
|
import { SegmentDeleteConfirm } from './SegmentDeleteConfirm/SegmentDeleteConfirm';
|
|
import { SegmentDeleteUsedSegment } from './SegmentDeleteUsedSegment/SegmentDeleteUsedSegment';
|
|
|
|
interface ISegmentDeleteProps {
|
|
segment: ISegment;
|
|
open: boolean;
|
|
onClose: () => void;
|
|
onRemove: () => void;
|
|
}
|
|
export const SegmentDelete = ({
|
|
segment,
|
|
open,
|
|
onClose,
|
|
onRemove,
|
|
}: ISegmentDeleteProps) => {
|
|
const { strategies } = useStrategiesBySegment(segment.id);
|
|
const canDeleteSegment = strategies?.length === 0;
|
|
return (
|
|
<ConditionallyRender
|
|
condition={canDeleteSegment}
|
|
show={
|
|
<SegmentDeleteConfirm
|
|
segment={segment}
|
|
open={open}
|
|
onClose={onClose}
|
|
onRemove={onRemove}
|
|
/>
|
|
}
|
|
elseShow={
|
|
<SegmentDeleteUsedSegment
|
|
segment={segment}
|
|
open={open}
|
|
onClose={onClose}
|
|
strategies={strategies}
|
|
/>
|
|
}
|
|
/>
|
|
);
|
|
};
|