import * as React from 'react'; import I18n from 'i18n-js'; import { WebhookPages } from './WebhooksSiteSettingsP'; import { IWebhook } from '../../../interfaces/IWebhook'; import WebhookListItem from './WebhookListItem'; import { CenteredMutedText } from '../../common/CustomTexts'; import Spinner from '../../common/Spinner'; interface Props { webhooks: Array; webhooksAreLoading: boolean; handleToggleEnabledWebhook: (id: number, enabled: boolean) => void; handleDeleteWebhook: (id: number) => void; handleTestWebhook: (id: number) => void; setSelectedWebhook: React.Dispatch>; setPage: React.Dispatch>; } const WebhooksList = ({ webhooks, webhooksAreLoading, handleToggleEnabledWebhook, handleDeleteWebhook, handleTestWebhook, setSelectedWebhook, setPage, }: Props) => { // from webhooks, get a unique list of triggers const triggers = Array.from(new Set(webhooks.map(webhook => webhook.trigger))); if (webhooksAreLoading) return ; return (
{ (webhooks && webhooks.length > 0) ? triggers.map((trigger, i) => (

{I18n.t(`site_settings.webhooks.triggers.${trigger}`)}

    { webhooks.filter(webhook => webhook.trigger === trigger).map((webhook, j) => ( )) }
)) : {I18n.t('site_settings.webhooks.empty')} }
); }; export default WebhooksList;