The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/apps/meteor/client/views/admin/subscription/hooks/useCancelSubscriptionModal.tsx

28 lines
846 B

import { useLicenseName } from '@rocket.chat/ui-client';
import { useSetModal } from '@rocket.chat/ui-contexts';
import { useCallback } from 'react';
import { useRemoveLicense } from './useRemoveLicense';
import { CancelSubscriptionModal } from '../components/CancelSubscriptionModal';
export const useCancelSubscriptionModal = () => {
const { data: planName = '' } = useLicenseName();
const removeLicense = useRemoveLicense();
const setModal = useSetModal();
const open = useCallback(() => {
const closeModal = () => setModal(null);
const handleConfirm = () => {
removeLicense.mutateAsync();
closeModal();
};
setModal(<CancelSubscriptionModal planName={planName} onConfirm={handleConfirm} onCancel={closeModal} />);
}, [removeLicense, planName, setModal]);
return {
open,
isLoading: removeLicense.isPending,
};
};