import { Button, ButtonGroup, Icon, Tabs } from '@rocket.chat/fuselage'; import React, { useEffect, useCallback } from 'react'; import Page from '../../../components/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' }); }, [router]); const context = useRouteParameter('context'); useEffect(() => { if (!context) { router.push({ context: 'webhook-incoming' }); } }, [context, router]); const showTable = !['zapier', 'bots'].includes(context); const goToIncoming = useCallback(() => router.push({ context: 'webhook-incoming' }), [router]); const goToOutgoing = useCallback(() => router.push({ context: 'webhook-outgoing' }), [router]); const goToZapier = useCallback(() => router.push({ context: 'zapier' }), [router]); const goToBots = useCallback(() => router.push({ context: 'bots' }), [router]); return {t('Incoming')} {t('Outgoing')} {t('Zapier')} {t('Bots')} {context === 'zapier' && } {context === 'bots' && } {showTable && } ; } export default IntegrationsPage;