import { useState } from "react"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import type { ButtonProps } from "@calcom/ui"; import { Button, ConfirmationDialogContent, Dialog, DialogTrigger, showToast } from "@calcom/ui"; import { Trash } from "@calcom/ui/components/icon"; export default function DisconnectIntegration({ credentialId, label, trashIcon, isGlobal, onSuccess, buttonProps, }: { credentialId: number; label?: string; trashIcon?: boolean; isGlobal?: boolean; onSuccess?: () => void; buttonProps?: ButtonProps; }) { const { t } = useLocale(); const [modalOpen, setModalOpen] = useState(false); const utils = trpc.useContext(); const mutation = trpc.viewer.deleteCredential.useMutation({ onSuccess: () => { showToast(t("app_removed_successfully"), "success"); setModalOpen(false); onSuccess && onSuccess(); }, onError: () => { showToast(t("error_removing_app"), "error"); setModalOpen(false); }, async onSettled() { await utils.viewer.connectedCalendars.invalidate(); }, }); return ( <> { mutation.mutate({ id: credentialId }); }}>

{t("are_you_sure_you_want_to_remove_this_app")}

); }