* chore: decouple ui dialog from AppRouter and Atoms * fix type e2e test * fix: import dialog from @calcom/ui/components/dialog * fix: remove log * fix unit test * fix * fix and move data-override-list test to features package --------- Co-authored-by: hbjORbj <sldisek783@gmail.com>
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { useIsPlatform } from "@calcom/atoms/hooks/useIsPlatform";
|
|
import { Dialog } from "@calcom/features/components/controlled-dialog";
|
|
import { useLocale } from "@calcom/lib/hooks/useLocale";
|
|
import type { App } from "@calcom/types/App";
|
|
import { ConfirmationDialogContent } from "@calcom/ui/components/dialog";
|
|
|
|
export type RemoveAppParams = {
|
|
credentialId: number;
|
|
app?: App["slug"];
|
|
teamId?: number;
|
|
callback: () => void;
|
|
};
|
|
interface DisconnectIntegrationModalProps {
|
|
credentialId: number | null;
|
|
isOpen: boolean;
|
|
handleModelClose: () => void;
|
|
teamId?: number;
|
|
handleRemoveApp: (params: RemoveAppParams) => void;
|
|
app?: App["slug"] | null;
|
|
}
|
|
|
|
export default function DisconnectIntegrationModal({
|
|
credentialId,
|
|
app,
|
|
isOpen,
|
|
handleModelClose,
|
|
teamId,
|
|
handleRemoveApp,
|
|
}: DisconnectIntegrationModalProps) {
|
|
const { t } = useLocale();
|
|
const isPlatform = useIsPlatform();
|
|
return (
|
|
<Dialog open={isOpen} onOpenChange={handleModelClose}>
|
|
<ConfirmationDialogContent
|
|
variety="danger"
|
|
title={t("remove_app")}
|
|
confirmBtnText={t("yes_remove_app")}
|
|
onConfirm={() => {
|
|
if (isPlatform && app && credentialId) {
|
|
handleRemoveApp({ credentialId, app, teamId, callback: () => handleModelClose() });
|
|
} else if (credentialId) {
|
|
handleRemoveApp({ credentialId, teamId, callback: () => handleModelClose() });
|
|
}
|
|
}}>
|
|
<p className="mt-5">{t("are_you_sure_you_want_to_remove_this_app")}</p>
|
|
</ConfirmationDialogContent>
|
|
</Dialog>
|
|
);
|
|
}
|