fix(hunk-actions): use native menu items, drop hardcoded label

- Render each hunk action as a DropdownMenuItem (Stage/Unstage/Discard hunk N
  with +/- counts) so Base UI keyboard navigation, highlight, Escape, and
  close-on-activate apply. Plain div/button rows are gone.
- Row labels reuse the already-translated diffView.hunk.stageTitle /
  unstageTitle / discardTitle strings; no new i18n keys, no hardcoded English.
- Disable the file-level actions while a hunk action is in flight for
  consistency (server serializes per directory regardless).
This commit is contained in:
LABCAT
2026-09-09 21:43:18 +12:00
parent aeafc9c095
commit 7f147568ea
2 changed files with 38 additions and 37 deletions
@@ -1005,7 +1005,7 @@ const MultiFileDiffEntry = React.memo<MultiFileDiffEntryProps>(({
filePath={file.path}
staged={staged}
busyAction={fileAction}
disabled={fileAction !== null}
disabled={fileAction !== null || hunkAction !== null}
onAction={handleFileAction}
/>
) : null}