refactor: Webhooks (#12487)
Closes #12303 ### What’s Changed - Replace auto‐save with explicit Save / Cancel Webhook forms now use manual “Save” and “Cancel” buttons instead of the old debounced auto‐save/update. - Separate “New” and “Detail” routes Two dedicated paths `/settings/webhooks/new` for creation and /`settings/webhooks/:webhookId` for editing, making the UX clearer. - URL hint & normalization If a user omits the http(s):// scheme, we display a “Will be saved as https://…” hint and automatically default to HTTPS. - Centralized validation with Zod Introduced a `webhookFormSchema` for client‐side URL, operations, and secret validation. - Storybook coverage Added stories for both “New Webhook” and “Webhook Detail” - Unit tests Added tests for the new `useWebhookForm` hook
This commit is contained in:
@ -182,11 +182,19 @@ const SettingsObjects = lazy(() =>
|
||||
})),
|
||||
);
|
||||
|
||||
const SettingsDevelopersWebhooksDetail = lazy(() =>
|
||||
const SettingsDevelopersWebhookNew = lazy(() =>
|
||||
import(
|
||||
'~/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookNew'
|
||||
).then((module) => ({
|
||||
default: module.SettingsDevelopersWebhookNew,
|
||||
})),
|
||||
);
|
||||
|
||||
const SettingsDevelopersWebhookDetail = lazy(() =>
|
||||
import(
|
||||
'~/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookDetail'
|
||||
).then((module) => ({
|
||||
default: module.SettingsDevelopersWebhooksDetail,
|
||||
default: module.SettingsDevelopersWebhookDetail,
|
||||
})),
|
||||
);
|
||||
|
||||
@ -438,9 +446,13 @@ export const SettingsRoutes = ({
|
||||
path={SettingsPath.ApiKeyDetail}
|
||||
element={<SettingsDevelopersApiKeyDetail />}
|
||||
/>
|
||||
<Route
|
||||
path={SettingsPath.NewWebhook}
|
||||
element={<SettingsDevelopersWebhookNew />}
|
||||
/>
|
||||
<Route
|
||||
path={SettingsPath.WebhookDetail}
|
||||
element={<SettingsDevelopersWebhooksDetail />}
|
||||
element={<SettingsDevelopersWebhookDetail />}
|
||||
/>
|
||||
<Route
|
||||
path={SettingsPath.Integrations}
|
||||
|
||||
Reference in New Issue
Block a user