-
-
-
- {t("webhook_response")}
-
- {mutation.data && (
-
- {mutation.data.ok ? t("passed") : t("failed")}
-
- )}
-
-
-
- {!mutation.data &&
{t("no_data_yet")}
}
- {mutation.status === "success" && mutation.data && (
-
-
- {t("status")}:{" "}
- {mutation.data.status}
-
+ }}>
+
+ {t("ping_test")}
+
+ }
+ />
+
+
+
+
+ }>{t("webhook_response")}
+ {mutation.data && (
+
+ {mutation.data.ok ? t("passed") : t("failed")}
+
+ )}
- )}
-
-
- >
+
+ {!mutation.data &&
{t("no_data_yet")}
}
+ {mutation.status === "success" && mutation.data && (
+
+ {t("status")}:{" "}
+ {mutation.data.status}
+
+ )}
+
+
+
+
+
);
}
diff --git a/apps/web/modules/webhooks/components/WebhookVersionCTA.tsx b/apps/web/modules/webhooks/components/WebhookVersionCTA.tsx
new file mode 100644
index 0000000000..e5346f3f1c
--- /dev/null
+++ b/apps/web/modules/webhooks/components/WebhookVersionCTA.tsx
@@ -0,0 +1,87 @@
+"use client";
+
+import {
+ getWebhookVersionDocsUrl,
+ getWebhookVersionLabel,
+ WEBHOOK_VERSION_OPTIONS,
+} from "@calcom/features/webhooks/lib/constants";
+import { useLocale } from "@calcom/lib/hooks/useLocale";
+import { Button } from "@coss/ui/components/button";
+import { Select, SelectItem, SelectPopup, SelectTrigger, SelectValue } from "@coss/ui/components/select";
+import { Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger } from "@coss/ui/components/tooltip";
+import { ExternalLinkIcon } from "lucide-react";
+import Link from "next/link";
+import type { UseFormReturn } from "react-hook-form";
+import type { WebhookFormValues } from "./WebhookForm";
+
+const webhookVersionItems = WEBHOOK_VERSION_OPTIONS.map((option) => ({
+ value: option.value,
+ label: option.label,
+}));
+
+export function WebhookVersionCTA({ formMethods }: { formMethods: UseFormReturn
}) {
+ const { t } = useLocale();
+ const version = formMethods.watch("version");
+ const selectedVersionItem =
+ webhookVersionItems.find((item) => item.value === version) ?? webhookVersionItems[0];
+
+ return (
+
+
+
+
+
+
+ }
+ />
+ {t("webhook_version")}
+
+
+
+ }>
+
+
+ }
+ />
+
+ {t("webhook_version_docs", {
+ version: getWebhookVersionLabel(version),
+ })}
+
+
+
+
+ );
+}
diff --git a/apps/web/modules/webhooks/components/dialogs/DeleteWebhookDialog.tsx b/apps/web/modules/webhooks/components/dialogs/DeleteWebhookDialog.tsx
index 4511d8b146..33d23497c5 100644
--- a/apps/web/modules/webhooks/components/dialogs/DeleteWebhookDialog.tsx
+++ b/apps/web/modules/webhooks/components/dialogs/DeleteWebhookDialog.tsx
@@ -1,6 +1,16 @@
import { APP_NAME } from "@calcom/lib/constants";
import { useLocale } from "@calcom/lib/hooks/useLocale";
-import { Dialog, ConfirmationDialogContent } from "@calcom/ui/components/dialog";
+import {
+ AlertDialog,
+ AlertDialogClose,
+ AlertDialogDescription,
+ AlertDialogFooter,
+ AlertDialogHeader,
+ AlertDialogPopup,
+ AlertDialogTitle,
+} from "@coss/ui/components/alert-dialog";
+import { Button } from "@coss/ui/components/button";
+import { Spinner } from "@coss/ui/components/spinner";
interface DeleteWebhookDialogProps {
open: boolean;
@@ -13,19 +23,29 @@ export function DeleteWebhookDialog({ open, onOpenChange, onConfirm, isPending }
const { t } = useLocale();
return (
-