umami/src/components/pages/settings/teams/TeamMemberRemoveButton.js

36 lines
889 B
JavaScript
Raw Normal View History

import useApi from 'components/hooks/useApi';
import useMessages from 'components/hooks/useMessages';
2023-04-02 19:24:50 +00:00
import { Icon, Icons, LoadingButton, Text } from 'react-basics';
2023-04-21 15:00:42 +00:00
export function TeamMemberRemoveButton({ teamId, userId, disabled, onSave }) {
2023-04-02 19:24:50 +00:00
const { formatMessage, labels } = useMessages();
const { del, useMutation } = useApi();
2023-05-16 18:06:42 +00:00
const { mutate, isLoading } = useMutation(() => del(`/teams/${teamId}/users/${userId}`));
2023-04-02 19:24:50 +00:00
const handleRemoveTeamMember = () => {
mutate(
2023-04-09 23:04:28 +00:00
{},
2023-04-02 19:24:50 +00:00
{
onSuccess: () => {
onSave();
},
},
);
};
return (
2023-08-25 20:32:24 +00:00
<LoadingButton
onClick={() => handleRemoveTeamMember()}
disabled={disabled}
isLoading={isLoading}
>
2023-04-02 19:24:50 +00:00
<Icon>
<Icons.Close />
</Icon>
<Text>{formatMessage(labels.remove)}</Text>
</LoadingButton>
);
}
2023-04-21 15:00:42 +00:00
export default TeamMemberRemoveButton;