Move loading button logic out.

This commit is contained in:
Brian Cao 2023-04-02 12:24:50 -07:00
parent 2713e3316a
commit 6805a8978a
4 changed files with 84 additions and 72 deletions

View file

@ -0,0 +1,29 @@
import useApi from 'hooks/useApi';
import useMessages from 'hooks/useMessages';
import { Icon, Icons, LoadingButton, Text } from 'react-basics';
export default function TeamWebsiteRemoveButton({ teamWebsiteId, onSave }) {
const { formatMessage, labels } = useMessages();
const { del, useMutation } = useApi();
const { mutate, isLoading } = useMutation(() => del(`/teamWebsites/${teamWebsiteId}`));
const handleRemoveTeamMember = () => {
mutate(
{ teamWebsiteId },
{
onSuccess: () => {
onSave();
},
},
);
};
return (
<LoadingButton onClick={() => handleRemoveTeamMember()} loading={isLoading}>
<Icon>
<Icons.Close />
</Icon>
<Text>{formatMessage(labels.remove)}</Text>
</LoadingButton>
);
}