mirror of
https://github.com/Unleash/unleash.git
synced 2025-10-18 11:14:57 +02:00
* refactor: update mui packages * refactor: run mui codemods * refactor: format files after codemods * refactor: fix broken types * refactor: clean up theme * refactor: fix broken tests * refactor: replace @mui/styles with tss-react * refactor: move breakpoints into classes for tss * refactor: fix crash on missing feature description * refactor: remove void classNames * refactor: adjust styles to new defaults * refactor: remove broken rollout slider e2e test * refactor: fix duplicate e2e testid * refactor: update makeStyles after rebase * refactor: add missing snapshot after rebase * refactor: fix TableCellSortable focus styles * refactor: use 1.4 as the default line-height * refactor: hide webkit search field icons * refactor: fix select box label * refactor: make AutocompleteBox smaller * refactor: make heading smaller * refactor: fix toast close icon color * refactor: update snapshots * refactor: add missing test event awaits * refactor: fix default button line-height
64 lines
2.1 KiB
TypeScript
64 lines
2.1 KiB
TypeScript
import React, { useState } from 'react';
|
|
import { Dialogue } from 'component/common/Dialogue/Dialogue';
|
|
import Input from 'component/common/Input/Input';
|
|
import { useStyles } from './SegmentDeleteConfirm.styles';
|
|
import { ISegment } from 'interfaces/segment';
|
|
import { SEGMENT_DIALOG_NAME_ID } from 'utils/testIds';
|
|
|
|
interface ISegmentDeleteConfirmProps {
|
|
segment: ISegment;
|
|
open: boolean;
|
|
setDeldialogue: React.Dispatch<React.SetStateAction<boolean>>;
|
|
handleDeleteSegment: (id: number) => Promise<void>;
|
|
}
|
|
|
|
export const SegmentDeleteConfirm = ({
|
|
segment,
|
|
open,
|
|
setDeldialogue,
|
|
handleDeleteSegment,
|
|
}: ISegmentDeleteConfirmProps) => {
|
|
const { classes: styles } = useStyles();
|
|
const [confirmName, setConfirmName] = useState('');
|
|
|
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) =>
|
|
setConfirmName(e.currentTarget.value);
|
|
|
|
const handleCancel = () => {
|
|
setDeldialogue(false);
|
|
setConfirmName('');
|
|
};
|
|
const formId = 'delete-segment-confirmation-form';
|
|
return (
|
|
<Dialogue
|
|
title="Are you sure you want to delete this segment?"
|
|
open={open}
|
|
primaryButtonText="Delete segment"
|
|
secondaryButtonText="Cancel"
|
|
onClick={() => {
|
|
handleDeleteSegment(segment.id);
|
|
setConfirmName('');
|
|
}}
|
|
disabledPrimaryButton={segment?.name !== confirmName}
|
|
onClose={handleCancel}
|
|
formId={formId}
|
|
>
|
|
<p className={styles.deleteParagraph}>
|
|
In order to delete this segment, please enter the name of the
|
|
segment in the textfield below: <strong>{segment?.name}</strong>
|
|
</p>
|
|
|
|
<form id={formId}>
|
|
<Input
|
|
autoFocus
|
|
onChange={handleChange}
|
|
value={confirmName}
|
|
label="Segment name"
|
|
className={styles.deleteInput}
|
|
data-testid={SEGMENT_DIALOG_NAME_ID}
|
|
/>
|
|
</form>
|
|
</Dialogue>
|
|
);
|
|
};
|