mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-26 13:39:47 +00:00
c4fa4669ce
Await explicit success from the existing mutation owner before discarding an add/edit draft. Pending saves lock the editor and conflicting local list controls; failures preserve inputs and masked/routing policy with fixed uncertainty guidance, not an automatic create replay. Preserve API persistence, Test parity and delivery boundaries. Record actual desktop and phone browser journeys and the alert subsystem contract. Contract-Neutral: Internal save acknowledgement and draft recovery in the existing editor only; notification API/wire format, delivery policy, entitlement, routes and shared primitive implementations are unchanged. Change-source: pulse-maintainer
31 lines
1.1 KiB
TypeScript
31 lines
1.1 KiB
TypeScript
// Production form and state, source-exact template text supplied by the runner.
|
|
// No real notification receiver, credentials, save or Test operation.
|
|
import { createSignal } from 'solid-js';
|
|
import { render } from 'solid-js/web';
|
|
import { WebhookConfig } from '../src/components/Alerts/WebhookConfig';
|
|
import '../src/index.css';
|
|
|
|
function Fixture() {
|
|
const [operations, setOperations] = createSignal(0);
|
|
const unexpectedOperation = () => {
|
|
setOperations((count) => count + 1);
|
|
return false;
|
|
};
|
|
return (
|
|
<main class="mx-auto min-h-screen max-w-4xl space-y-4 bg-surface p-4 text-base-content">
|
|
<h1 class="text-lg font-semibold">Webhook setup</h1>
|
|
<p class="text-sm text-muted">Offline presentation check. No notification is sent.</p>
|
|
<WebhookConfig
|
|
webhooks={[]}
|
|
onAdd={unexpectedOperation}
|
|
onUpdate={unexpectedOperation}
|
|
onDelete={unexpectedOperation}
|
|
onTest={unexpectedOperation}
|
|
/>
|
|
<output aria-label="Notification operations">{operations()}</output>
|
|
</main>
|
|
);
|
|
}
|
|
|
|
render(() => <Fixture />, document.getElementById('root')!);
|