Fix two issues identified by coderabbit
This commit is contained in:
parent
13d2c858cc
commit
4ae9a1f7e3
1 changed files with 10 additions and 6 deletions
|
|
@ -119,6 +119,15 @@ export const SnapshotsTable = ({ snapshots, repositoryId, backups, listSnapshots
|
||||||
const newSelected = new Set(selectedIds);
|
const newSelected = new Set(selectedIds);
|
||||||
rangeIds.forEach((id) => newSelected.add(id));
|
rangeIds.forEach((id) => newSelected.add(id));
|
||||||
setSelectedIds(newSelected);
|
setSelectedIds(newSelected);
|
||||||
|
} else {
|
||||||
|
// Fallback to single-toggle when range selection fails due to stale lastSelectedId
|
||||||
|
const newSelected = new Set(selectedIds);
|
||||||
|
if (newSelected.has(snapshotId)) {
|
||||||
|
newSelected.delete(snapshotId);
|
||||||
|
} else {
|
||||||
|
newSelected.add(snapshotId);
|
||||||
|
}
|
||||||
|
setSelectedIds(newSelected);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Single selection toggle
|
// Single selection toggle
|
||||||
|
|
@ -202,14 +211,9 @@ export const SnapshotsTable = ({ snapshots, repositoryId, backups, listSnapshots
|
||||||
<TableCell onClick={(e: React.MouseEvent) => e.stopPropagation()}>
|
<TableCell onClick={(e: React.MouseEvent) => e.stopPropagation()}>
|
||||||
<Checkbox
|
<Checkbox
|
||||||
checked={isSelected}
|
checked={isSelected}
|
||||||
onCheckedChange={() => {
|
|
||||||
handleSnapshotSelection(snapshot.short_id);
|
|
||||||
}}
|
|
||||||
onClick={(e: React.MouseEvent<HTMLButtonElement>) => {
|
onClick={(e: React.MouseEvent<HTMLButtonElement>) => {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if (e.shiftKey) {
|
handleSnapshotSelection(snapshot.short_id, e);
|
||||||
handleSnapshotSelection(snapshot.short_id, e);
|
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
aria-label={`Select snapshot ${snapshot.short_id}` as string}
|
aria-label={`Select snapshot ${snapshot.short_id}` as string}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue