-
-
Notifications
You must be signed in to change notification settings - Fork 652
/
EditSegmentButton.tsx
37 lines (34 loc) · 1.22 KB
/
EditSegmentButton.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { ISegment } from 'interfaces/segment';
import { Edit } from '@mui/icons-material';
import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton';
import {
UPDATE_SEGMENT,
UPDATE_PROJECT_SEGMENT,
} from 'component/providers/AccessProvider/permissions';
import { useNavigate } from 'react-router-dom';
import { useOptionalPathParam } from 'hooks/useOptionalPathParam';
interface IEditSegmentButtonProps {
segment: ISegment;
}
export const EditSegmentButton = ({ segment }: IEditSegmentButtonProps) => {
const projectId = useOptionalPathParam('projectId');
const navigate = useNavigate();
return (
<PermissionIconButton
onClick={() => {
if (projectId) {
navigate(
`/projects/${projectId}/settings/segments/edit/${segment.id}`
);
} else {
navigate(`/segments/edit/${segment.id}`);
}
}}
permission={[UPDATE_SEGMENT, UPDATE_PROJECT_SEGMENT]}
projectId={projectId}
tooltipProps={{ title: 'Edit segment' }}
>
<Edit data-loading />
</PermissionIconButton>
);
};