Skip to content

Claude/project usability review ad4940 - #3

Merged
Coriana merged 2 commits into
mainfrom
claude/project-usability-review-ad4940
Jul 12, 2026
Merged

Claude/project usability review ad4940#3
Coriana merged 2 commits into
mainfrom
claude/project-usability-review-ad4940

Conversation

@Coriana

@Coriana Coriana commented Jul 12, 2026

Copy link
Copy Markdown
Owner

No description provided.

Coriana and others added 2 commits July 12, 2026 14:43
usePagination clamps the current page at derive time, so search or
filter changes that shrink the result set never strand you on a dead
page. ListPagination shows a Showing X of Y summary with Prev/Next and
hides itself for single-page lists. Data stays fully loaded, so search,
status-pill counts, and filters remain instant over the whole set; only
the rendered slice is paginated. Invoices select-all is now page-scoped,
leaving selections on other pages intact for bulk actions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The invoice list Send action now posts every selected id to a new
POST /mail/send-invoices and the server loops - one round-trip instead
of one fetch per invoice, and SMTP pacing stays server-side. Recipients
are resolved per invoice from the client (contact_email then email), so
the client just sends ids and renders the returned {sent, failures}
summary. Extracted the shared send path into sendInvoiceById; the
single /send-invoice route now delegates to it. Six tests cover
validation, per-invoice failure reasons, and that the loop runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Coriana
Coriana merged commit deb1d72 into main Jul 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant