import { Button, ButtonGroup, Icon, Tabs } from '@rocket.chat/fuselage'; import React, { useEffect, useCallback } from 'react'; import Page from '../../components/basic/Page'; import { useTranslation } from '../../contexts/TranslationContext'; import { useRoute, useRouteParameter } from '../../contexts/RouterContext'; import IntegrationsTable from './IntegrationsTable'; import NewZapier from './new/NewZapier'; import NewBot from './new/NewBot'; function IntegrationsPage() { const t = useTranslation(); const router = useRoute('admin-integrations'); const handleNewButtonClick = useCallback(() => { router.push({ context: 'new', type: 'incoming' }); }, []); const context = useRouteParameter('context'); useEffect(() => { if (!context) { router.push({ context: 'webhook-incoming' }); } }, [context]); const showTable = !['zapier', 'bots'].includes(context); const goToIncoming = useCallback(() => router.push({ context: 'webhook-incoming' }), []); const goToOutgoing = useCallback(() => router.push({ context: 'webhook-outgoing' }), []); const goToZapier = useCallback(() => router.push({ context: 'zapier' }), []); const goToBots = useCallback(() => router.push({ context: 'bots' }), []); return {t('Incoming')} {t('Outgoing')} {t('Zapier')} {t('Bots')} {context === 'zapier' && } {context === 'bots' && } {showTable && } ; } export default IntegrationsPage;