From 6453ecdf8a9ab15e34bf111310cea71b62eabc55 Mon Sep 17 00:00:00 2001 From: Robert Gingras Date: Thu, 9 Jul 2026 08:59:35 -0400 Subject: [PATCH 1/3] fix(Button): restore pointer cursor and make ghost hover perceptible Tailwind v4 preflight resets buttons to cursor: default, so Button lost the clickable affordance (QuickAction already opts back in with cursor-pointer; this brings Button to parity). Ghost's hover tint moves one token step (neutral-100 -> neutral-200, dark neutral-800 -> neutral-700, actives follow): neutral-100 on a white page is a ~4% delta most displays cannot show, so the hover state read as "nothing happens" and users only noticed feedback via the active state on click. --- src/components/Button/Button.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx index 1fedec40..1d357746 100644 --- a/src/components/Button/Button.tsx +++ b/src/components/Button/Button.tsx @@ -8,7 +8,9 @@ const buttonVariants = cva( 'inline-flex items-center justify-center gap-2', 'font-semibold transition-all duration-200', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', - 'disabled:pointer-events-none disabled:opacity-50', + // Web-app affordance: buttons look clickable. (Tailwind v4 preflight + // resets buttons to cursor: default; QuickAction already opts back in.) + 'cursor-pointer disabled:pointer-events-none disabled:opacity-50', 'active:scale-[0.98]', ], { @@ -29,11 +31,14 @@ const buttonVariants = cva( ], ghost: [ 'bg-transparent text-neutral-600', - 'hover:bg-neutral-100', - 'active:bg-neutral-200', + // One token step stronger than before: neutral-100 on a white page + // is a ~4% delta most displays can't show, so hover read as + // "nothing happens" and users only saw the active state on click. + 'hover:bg-neutral-200', + 'active:bg-neutral-300', 'dark:text-neutral-400', - 'dark:hover:bg-neutral-800', - 'dark:active:bg-neutral-700', + 'dark:hover:bg-neutral-700', + 'dark:active:bg-neutral-600', ], outline: [ 'border-2 border-primary-800 text-primary-800 bg-transparent', From 27a000164cd728d1c8700965aba47b966f1718b7 Mon Sep 17 00:00:00 2001 From: Robert Gingras Date: Thu, 9 Jul 2026 09:00:44 -0400 Subject: [PATCH 2/3] feat(ButtonLink): navigation links styled as buttons A polymorphic link that reuses buttonVariants, replacing the