import { Button, ButtonGroup, Icon, Tabs } from '@rocket.chat/fuselage'; import React, { useCallback, ReactElement } from 'react'; import Page from '../../../components/Page'; import { useRoute, useRouteParameter } from '../../../contexts/RouterContext'; import { useTranslation } from '../../../contexts/TranslationContext'; import IntegrationsTable from './IntegrationsTable'; import NewBot from './new/NewBot'; import NewZapier from './new/NewZapier'; const IntegrationsPage = (): ReactElement => { const t = useTranslation(); const router = useRoute('admin-integrations'); const context = useRouteParameter('context'); const showTable = !['zapier', 'bots'].includes(context || ''); const handleNewButtonClick = useCallback(() => { router.push({ context: 'new', type: 'incoming' }); }, [router]); const goToAll = useCallback(() => router.push({ context: '' }), [router]); 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('All')} {t('Incoming')} {t('Outgoing')} {t('Zapier')} {t('Bots')} {context === 'zapier' && } {context === 'bots' && } {showTable && } ); }; export default IntegrationsPage;