feat(web/webhooks): surface manual FIRE button per row

The per-row test-delivery action already existed as an icon-only 
zap in the ACTIONS column — backed by POST /webhooks/{uuid}/test,
which fires a synthetic test.ping event through the normal HMAC-
signed delivery path with retries disabled. Too easy to miss.

Replace the icon-only button with a labeled [ FIRE] violet-accented
button so it reads as an emphasized dev-tool action right next to
edit/delete. Tooltip now spells out the backend endpoint and "fire
a synthetic test event" intent.

No backend change. Widens the actions column to 180px to accommodate
the label.
This commit is contained in:
2026-04-24 16:15:47 -04:00
parent 731063b96e
commit ee682eef65
2 changed files with 15 additions and 3 deletions

View File

@@ -117,7 +117,18 @@
}
.webhooks-root .webhooks-table .col-check { width: 28px; }
.webhooks-root .webhooks-table .col-actions { width: 140px; }
.webhooks-root .webhooks-table .col-actions { width: 180px; }
.webhooks-root .action-btn.fire {
border-color: var(--violet);
color: var(--violet);
letter-spacing: 1.5px;
}
.webhooks-root .action-btn.fire:hover {
background: var(--violet);
color: #000;
box-shadow: var(--violet-glow);
}
.webhooks-root .wh-url-cell {
font-family: var(--font-mono);

View File

@@ -439,11 +439,12 @@ const Webhooks: React.FC = () => {
<td>
<div className="wh-actions">
<button
className="action-btn"
className="action-btn fire"
onClick={() => handleTestOne(w.uuid, w.name)}
title="Send synthetic test event"
title="Fire a synthetic test event to this webhook (POST /webhooks/{uuid}/test)"
>
<Zap size={12} />
FIRE
</button>
<button
className="action-btn"