fix(transactions): move the bulk-match attn line below the inbox list (#1602)

The recon bridge line sat above the inbox rows, pushing the actual
work below a promo-shaped sentence. Founder feedback: the rows come
first. Same trigger (>=5 selectable bank rows), same action, now
rendered after the table just above the footer status line.

Co-authored-by: Jakob Wennberg <311770904+jakobwennberg-oss@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Jakob Wennberg
2026-08-13 23:38:19 +02:00
committed by GitHub
co-authored by Jakob Wennberg Claude Fable 5
parent ced6f1c65b
commit 456366fa70
+21 -20
View File
@@ -3315,26 +3315,6 @@ export default function TransactionsPage() {
)
) : (
<div>
{/* Bridge to the bulk-match flow: a backlog of unbooked bank rows
is usually a migration/import whose counterpart vouchers
already exist, and the only match affordance here is per-row.
Static text + count (no probe): the reconciliation preview is
the honest source of how many actually match.
Yields to the review-suggestions attn at the top of the page
(max one ochre sentence per page): when the sweep has already
persisted suggestions, "Granska förslagen" is the more precise
destination for the same backlog. */}
{selectableInboxIds.length >= 5 && suggestionItems.length === 0 && (
<AttnLine
className="px-1 pb-3"
action={{
label: t('recon_attn_action'),
href: '/reports/bank-reconciliation?autorun=1',
}}
>
{t('recon_attn', { count: selectableInboxIds.length })}
</AttnLine>
)}
{/* Bulkbar (concept): hidden until at least one transaction is
selected via the hover checkboxes, then it pops in with the
count and the batch actions. */}
@@ -3474,6 +3454,27 @@ export default function TransactionsPage() {
</tbody>
</table>
</div>
{/* Bridge to the bulk-match flow: a backlog of unbooked bank rows
is usually a migration/import whose counterpart vouchers
already exist, and the only match affordance here is per-row.
Static text + count (no probe): the reconciliation preview is
the honest source of how many actually match. Sits below the
list so the rows themselves stay first, and yields to the
review-suggestions attn at the top of the page (max one ochre
sentence per page): when the sweep has already persisted
suggestions, "Granska förslagen" is the more precise
destination for the same backlog. */}
{selectableInboxIds.length >= 5 && suggestionItems.length === 0 && (
<AttnLine
className="px-1 pt-3"
action={{
label: t('recon_attn_action'),
href: '/reports/bank-reconciliation?autorun=1',
}}
>
{t('recon_attn', { count: selectableInboxIds.length })}
</AttnLine>
)}
</div>
)
) : (