* dumb components for calendar settings * shadcn switch * update exports * update packages * add calendar settings atom to examples app * init calendar settings atom * refactors * fix import path * export type for calendar switch props * invalidate queries on deleting calendar credentials * replace calendars list with calendar settings wrapper * cleanup * update styling * refactors * cleanup * fix: missing key prop CalendarSettingsPlatformWrapper * Label as client components * Address client component build errors * Move QueryCell out of packages/lib * PR feedback * more feedback --------- Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com> Co-authored-by: Morgan Vernay <morgan@cal.com> Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import type { ButtonProps } from "@calcom/ui";
|
|
import { Button, ConfirmationDialogContent, Dialog, DialogTrigger } from "@calcom/ui";
|
|
|
|
export const DisconnectIntegrationComponent = ({
|
|
label,
|
|
trashIcon,
|
|
isGlobal,
|
|
isModalOpen = false,
|
|
onModalOpen,
|
|
onDeletionConfirmation,
|
|
buttonProps,
|
|
}: {
|
|
label?: string;
|
|
trashIcon?: boolean;
|
|
isGlobal?: boolean;
|
|
isModalOpen: boolean;
|
|
onModalOpen: () => void;
|
|
onDeletionConfirmation: () => void;
|
|
buttonProps?: ButtonProps;
|
|
}) => {
|
|
const { t } = useLocale();
|
|
|
|
return (
|
|
<>
|
|
<Dialog open={isModalOpen} onOpenChange={onModalOpen}>
|
|
<DialogTrigger asChild>
|
|
<Button
|
|
color={buttonProps?.color || "destructive"}
|
|
StartIcon={!trashIcon ? undefined : "trash"}
|
|
size="base"
|
|
variant={trashIcon && !label ? "icon" : "button"}
|
|
disabled={isGlobal}
|
|
{...buttonProps}>
|
|
{label}
|
|
</Button>
|
|
</DialogTrigger>
|
|
<ConfirmationDialogContent
|
|
variety="danger"
|
|
title={t("remove_app")}
|
|
confirmBtnText={t("yes_remove_app")}
|
|
onConfirm={onDeletionConfirmation}>
|
|
<p className="mt-5">{t("are_you_sure_you_want_to_remove_this_app")}</p>
|
|
</ConfirmationDialogContent>
|
|
</Dialog>
|
|
</>
|
|
);
|
|
};
|