fix payee and transaction context menus when no items selected (#5358)

* fix context menus with no items selected

* note
This commit is contained in:
Matt Fiddaman
2025-07-21 10:16:36 -04:00
committed by GitHub
parent ff7529f6e5
commit 59bcee9369
4 changed files with 22 additions and 2 deletions

View File

@@ -117,7 +117,11 @@ export const PayeeTableRow = memo(
const { id } = payee;
const dispatchSelected = useSelectedDispatch();
const selectedItems = useSelectedItems();
const selectedIds = useMemo(() => [...selectedItems], [selectedItems]);
const selectedIds = useMemo(() => {
const ids =
selectedItems && selectedItems.size > 0 ? selectedItems : [payee.id];
return Array.from(new Set(ids));
}, [payee, selectedItems]);
const borderColor = selected
? theme.tableBorderSelected

View File

@@ -20,6 +20,7 @@ type BalanceMenuProps = Omit<
ComponentPropsWithoutRef<typeof Menu>,
'onMenuSelect' | 'items'
> & {
transaction: TransactionEntity;
getTransaction: (id: string) => TransactionEntity | undefined;
onDuplicate: (ids: string[]) => void;
onDelete: (ids: string[]) => void;
@@ -35,6 +36,7 @@ type BalanceMenuProps = Omit<
};
export function TransactionMenu({
transaction,
getTransaction,
onDuplicate,
onDelete,
@@ -49,7 +51,14 @@ export function TransactionMenu({
const { t } = useTranslation();
const dispatch = useDispatch();
const selectedItems = useSelectedItems();
const selectedIds = useMemo(() => [...selectedItems], [selectedItems]);
const selectedIds = useMemo(() => {
const ids =
selectedItems && selectedItems.size > 0
? selectedItems
: [transaction.id];
return Array.from(new Set(ids));
}, [transaction, selectedItems]);
const scheduleIds = useMemo(() => {
return selectedIds

View File

@@ -1152,6 +1152,7 @@ const Transaction = memo(function Transaction({
isNonModal
>
<TransactionMenu
transaction={transaction}
getTransaction={id => allTransactions?.find(t => t.id === id)}
onDelete={ids => onBatchDelete?.(ids)}
onDuplicate={ids => onBatchDuplicate?.(ids)}

View File

@@ -0,0 +1,6 @@
---
category: Bugfix
authors: [matt-fidd]
---
Fix payee and transaction context menus when no items selected