import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { SettingsApiKeysTable } from '@/settings/developers/components/SettingsApiKeysTable'; import { SettingsReadDocumentationButton } from '@/settings/developers/components/SettingsReadDocumentationButton'; import { SettingsWebhooksTable } from '@/settings/developers/components/SettingsWebhooksTable'; import { SettingsPath } from '@/types/SettingsPath'; import { SubMenuTopBarContainer } from '@/ui/layout/page/components/SubMenuTopBarContainer'; import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; import styled from '@emotion/styled'; import { Trans, useLingui } from '@lingui/react/macro'; import { Button, H2Title, IconPlus, MOBILE_VIEWPORT, Section } from 'twenty-ui'; import { getSettingsPath } from '~/utils/navigation/getSettingsPath'; import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { Webhook } from '@/settings/developers/types/webhook/Webhook'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; const StyledButtonContainer = styled.div` display: flex; justify-content: flex-end; padding-top: ${({ theme }) => theme.spacing(2)}; @media (max-width: ${MOBILE_VIEWPORT}px) { padding-top: ${({ theme }) => theme.spacing(5)}; } `; const StyledContainer = styled.div<{ isMobile: boolean }>` display: flex; flex-direction: column; overflow: hidden; gap: ${({ theme }) => theme.spacing(2)}; `; export const SettingsDevelopers = () => { const isMobile = useIsMobile(); const navigate = useNavigateSettings(); const { t } = useLingui(); const { createOneRecord: createOneWebhook } = useCreateOneRecord({ objectNameSingular: CoreObjectNameSingular.Webhook, }); const createNewWebhook = async () => { const newWebhook = await createOneWebhook({ targetUrl: '', operations: ['*.*'], }); if (!newWebhook) { return; } navigate(SettingsPath.DevelopersNewWebhookDetail, { webhookId: newWebhook.id, }); }; return ( } links={[ { children: Workspace, href: getSettingsPath(SettingsPath.Workspace), }, { children: Developers }, ]} >
); };