diff --git a/packages/desktop-client/src/components/accounts/Account.js b/packages/desktop-client/src/components/accounts/Account.js index b5fe9fe4c16c0f3c1536eb39d4c2037fd6c7f708..7d7ae712c1d6d19a3c2cea0f8472280b48c63cb9 100644 --- a/packages/desktop-client/src/components/accounts/Account.js +++ b/packages/desktop-client/src/components/accounts/Account.js @@ -353,7 +353,7 @@ function DetailedBalance({ name, balance }) { ); } -function SelectedBalance({ selectedItems }) { +function SelectedBalance({ selectedItems, account }) { let name = `selected-balance-${[...selectedItems].join('-')}`; let rows = useSheetValue({ @@ -376,9 +376,31 @@ function SelectedBalance({ selectedItems }) { .calculate({ $sum: '$amount' }), }); + let scheduleBalance = null; + let scheduleData = useCachedSchedules(); + let previewIds = [...selectedItems] + .filter(id => isPreviewId(id)) + .map(id => id.slice(8)); + for (let s of scheduleData.schedules) { + if (previewIds.includes(s.id)) { + if (!account || account.id === s._account) { + scheduleBalance += s._amount; + } else { + scheduleBalance -= s._amount; + } + } + } + if (balance == null) { - return null; + if (scheduleBalance == null) { + return null; + } else { + balance = scheduleBalance; + } + } else if (scheduleBalance != null) { + balance += scheduleBalance; } + return <DetailedBalance name="Selected balance:" balance={balance} />; } @@ -400,7 +422,12 @@ function MoreBalances({ balanceQuery }) { ); } -function Balances({ balanceQuery, showExtraBalances, onToggleExtraBalances }) { +function Balances({ + balanceQuery, + showExtraBalances, + onToggleExtraBalances, + account, +}) { let selectedItems = useSelectedItems(); return ( @@ -445,7 +472,7 @@ function Balances({ balanceQuery, showExtraBalances, onToggleExtraBalances }) { {showExtraBalances && <MoreBalances balanceQuery={balanceQuery} />} {selectedItems.size > 0 && ( - <SelectedBalance selectedItems={selectedItems} /> + <SelectedBalance selectedItems={selectedItems} account={account} /> )} </View> ); @@ -794,6 +821,7 @@ const AccountHeader = memo( balanceQuery={balanceQuery} showExtraBalances={showExtraBalances} onToggleExtraBalances={onToggleExtraBalances} + account={account} /> <Stack diff --git a/upcoming-release-notes/1008.md b/upcoming-release-notes/1008.md new file mode 100644 index 0000000000000000000000000000000000000000..8bf34cb036f5cda64c937b2bac33d5ecbc60eaac --- /dev/null +++ b/upcoming-release-notes/1008.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [TheTrueCaligari] +--- + +Reports: Add Upcoming/Due transactions in the "Selected balance" sum (Issue #319)