From d2c202ddabf6671a42d24a440377ee3059fe5b40 Mon Sep 17 00:00:00 2001 From: Hongming Wang Date: Sun, 3 May 2026 12:56:00 -0700 Subject: [PATCH] fix(canvas): ApprovalBanner Approve/Deny button polish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same bug class as #2622 (ConfirmDialog), but on a more critical surface — this is the top-of-page banner asking the user to approve / deny a real workspace permission request. 1. **Deny was a no-op hover.** `bg-surface-card hover:bg-surface-card` gave zero visual feedback before the user clicked a destructive action. Now lifts to surface-elevated + brightens the text so the button visibly responds. 2. **Approve hover went LIGHTER.** `bg-emerald-600 hover:bg-emerald-500` dropped white-text contrast on hover. Reversed to emerald-700. 3. **No focus rings on either button.** Keyboard users had no way to tell which decision was focused. Added focus-visible rings (offset against the dark amber banner bg) — emerald for Approve, amber for Deny so the choice is unambiguous. Co-Authored-By: Claude Opus 4.7 (1M context) --- canvas/src/components/ApprovalBanner.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/canvas/src/components/ApprovalBanner.tsx b/canvas/src/components/ApprovalBanner.tsx index 5d36efc5..e9baa776 100644 --- a/canvas/src/components/ApprovalBanner.tsx +++ b/canvas/src/components/ApprovalBanner.tsx @@ -73,14 +73,19 @@ export function ApprovalBanner() {