authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-02-14 22:38:54-08:00
committergravatar for jmarminge@gmail.comJulius Marminge <jmarminge@gmail.com> 2026-02-14 23:35:48-08:00
log7690837f38c56b79d26f61b16fc60ad671dcc1ee
treebbf5ad7206f9f790519413193cff85a3ae3e5ac9
parent85eb379dd769db2f949a3352acca6537b02e89cf

Fix disabled git action tooltip hover handling

- Use the quick action button itself as the popover trigger - Keep hover tooltips working on disabled controls via pointer-events override - Remove focus/blur tab-stop handlers from disabled tooltip wrappers

1 files changed, 7 insertions(+), 18 deletions(-)

apps/web/src/components/GitActionsControl.tsx+7-18
......@@ -459,26 +459,18 @@ export default function GitActionsControl({ api, gitCwd }: GitActionsControlProp
459459 <Popover open={isQuickActionPopoverOpen} onOpenChange={setIsQuickActionPopoverOpen}>
460460 <PopoverTrigger
461461 render={
462 <span
463 className="inline-flex cursor-not-allowed"
464 onBlur={() => setIsQuickActionPopoverOpen(false)}
465 onFocus={() => setIsQuickActionPopoverOpen(true)}
462 <Button
463 variant="outline"
464 size="xs"
465 disabled={isGitActionRunning || quickAction.disabled}
466 className="cursor-not-allowed disabled:cursor-not-allowed disabled:pointer-events-auto"
466467 onMouseEnter={() => setIsQuickActionPopoverOpen(true)}
467468 onMouseLeave={() => setIsQuickActionPopoverOpen(false)}
468 tabIndex={0}
469469 />
470470 }
471471 >
472 <Button
473 variant="outline"
474 size="xs"
475 disabled={isGitActionRunning || quickAction.disabled}
476 className="cursor-not-allowed disabled:cursor-not-allowed"
477 onClick={runQuickAction}
478 >
479 <GitQuickActionIcon quickAction={quickAction} />
480 {quickAction.label}
481 </Button>
472 <GitQuickActionIcon quickAction={quickAction} />
473 {quickAction.label}
482474 </PopoverTrigger>
483475 <PopoverPopup tooltipStyle side="bottom" align="start">
484476 {quickActionDisabledReason}
......@@ -522,11 +514,8 @@ export default function GitActionsControl({ api, gitCwd }: GitActionsControlProp
522514 render={
523515 <span
524516 className="inline-flex w-full cursor-not-allowed"
525 onBlur={() => setOpenDisabledMenuItemId(null)}
526 onFocus={() => setOpenDisabledMenuItemId(item.id)}
527517 onMouseEnter={() => setOpenDisabledMenuItemId(item.id)}
528518 onMouseLeave={() => setOpenDisabledMenuItemId(null)}
529 tabIndex={0}
530519 />
531520 }
532521 >