From 71fb499dee2fcfd32320063925895dd5b91563da Mon Sep 17 00:00:00 2001 From: Hongming Wang Date: Sun, 3 May 2026 17:53:29 -0700 Subject: [PATCH] canvas/DeleteCascadeConfirmDialog: fix Cancel no-op hover + Delete light hover + focus rings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four fixes for the cascade-delete confirmation modal: 1. Cancel button hover was a no-op: bg-surface-card on top of the same base — clicking did something but the button looked dead. Lifted to surface-elevated, matching the ConfirmDialog Cancel pattern. 2. Delete button hovered LIGHTER (bg-red-500 over bg-red-600). On white text that drops contrast below AA — same trap fixed in ConfirmDialog and ApprovalBanner. Flipped to bg-red-700 so hover stays readable in both themes. 3. Checkbox ring-offset color was zinc-900 — but the dialog actually sits on bg-surface-sunken, so the offset showed the wrong color through the ring gap. Corrected to ring-offset-surface-sunken. Also moved focus → focus-visible so the ring only shows on keyboard nav, not mouse clicks. 4. Cancel + Delete had no focus-visible rings. Added accent ring on Cancel, danger ring on Delete, both with the correct ring-offset-surface-sunken. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../components/DeleteCascadeConfirmDialog.tsx | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/canvas/src/components/DeleteCascadeConfirmDialog.tsx b/canvas/src/components/DeleteCascadeConfirmDialog.tsx index 949437c3..ba68bb83 100644 --- a/canvas/src/components/DeleteCascadeConfirmDialog.tsx +++ b/canvas/src/components/DeleteCascadeConfirmDialog.tsx @@ -127,13 +127,16 @@ export function DeleteCascadeConfirmDialog({

- {/* Checkbox guard */} + {/* Checkbox guard. Ring-offset color was zinc-900 — the dialog + actually sits on bg-surface-sunken, so the offset showed + the wrong color through the ring gap. Switched to the + real bg + a danger-tinted ring. */}