import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; import { useCreateOneRecord } from '@/object-record/hooks/useCreateOneRecord'; import { SaveAndCancelButtons } from '@/settings/components/SaveAndCancelButtons/SaveAndCancelButtons'; import { SettingsHeaderContainer } from '@/settings/components/SettingsHeaderContainer'; import { SettingsPageContainer } from '@/settings/components/SettingsPageContainer'; import { Webhook } from '@/settings/developers/types/webhook/Webhook'; import { IconSettings } from '@/ui/display/icon'; import { H2Title } from '@/ui/display/typography/components/H2Title'; import { TextInput } from '@/ui/input/components/TextInput'; import { SubMenuTopBarContainer } from '@/ui/layout/page/SubMenuTopBarContainer'; import { Section } from '@/ui/layout/section/components/Section'; import { Breadcrumb } from '@/ui/navigation/bread-crumb/components/Breadcrumb'; export const SettingsDevelopersWebhooksNew = () => { const navigate = useNavigate(); const [formValues, setFormValues] = useState<{ targetUrl: string; operation: string; }>({ targetUrl: '', operation: '*.*', }); const { createOneRecord: createOneWebhook } = useCreateOneRecord({ objectNameSingular: CoreObjectNameSingular.Webhook, }); const handleSave = async () => { const newWebhook = await createOneWebhook?.(formValues); if (!newWebhook) { return; } navigate(`/settings/developers/webhooks/${newWebhook.id}`); }; const canSave = !!formValues.targetUrl && createOneWebhook; return ( { navigate('/settings/developers'); }} onSave={handleSave} />
{ setFormValues((prevState) => ({ ...prevState, targetUrl: value, })); }} fullWidth />
); };