From 456366fa70b7ea425868b2ad4a62c3180cc65263 Mon Sep 17 00:00:00 2001 From: Jakob Wennberg Date: Thu, 13 Aug 2026 23:38:19 +0200 Subject: [PATCH] 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 --- app/(dashboard)/transactions/page.tsx | 41 ++++++++++++++------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/app/(dashboard)/transactions/page.tsx b/app/(dashboard)/transactions/page.tsx index 29848aaa..56047445 100644 --- a/app/(dashboard)/transactions/page.tsx +++ b/app/(dashboard)/transactions/page.tsx @@ -3315,26 +3315,6 @@ export default function TransactionsPage() { ) ) : (
- {/* 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 && ( - - {t('recon_attn', { count: selectableInboxIds.length })} - - )} {/* 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() {
+ {/* 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 && ( + + {t('recon_attn', { count: selectableInboxIds.length })} + + )} ) ) : (