"use client"; import { WebhookModal } from "@/modules/integrations/webhooks/components/webhook-detail-modal"; import { EmptySpaceFiller } from "@/modules/ui/components/empty-space-filler"; import { Webhook } from "@prisma/client"; import { useTranslate } from "@tolgee/react"; import { type JSX, useState } from "react"; import { TEnvironment } from "@formbricks/types/environment"; import { TSurvey } from "@formbricks/types/surveys/types"; interface WebhookTableProps { environment: TEnvironment; webhooks: Webhook[]; surveys: TSurvey[]; children: [JSX.Element, JSX.Element[]]; isReadOnly: boolean; } export const WebhookTable = ({ environment, webhooks, surveys, children: [TableHeading, webhookRows], isReadOnly, }: WebhookTableProps) => { const [isWebhookDetailModalOpen, setWebhookDetailModalOpen] = useState(false); const { t } = useTranslate(); const [activeWebhook, setActiveWebhook] = useState({ environmentId: environment.id, id: "", name: "", url: "", source: "user", triggers: [], surveyIds: [], createdAt: new Date(), updatedAt: new Date(), }); const handleOpenWebhookDetailModalClick = (e, webhook: Webhook) => { e.preventDefault(); setActiveWebhook(webhook); setWebhookDetailModalOpen(true); }; return ( <> {webhooks.length === 0 ? ( ) : (
{TableHeading}
{webhooks.map((webhook, index) => ( ))}
)} ); };