Skip to content

fix(received): use one selection checkbox for payment and export - #248

Merged
Atharva0506 merged 1 commit into
StabilityNexus:mainfrom
Atharva0506:fix/received-single-selection
Oct 7, 2026
Merged

Atharva0506 merged 1 commit into
StabilityNexus:mainfrom
Atharva0506:fix/received-single-selection

Conversation

@Atharva0506

Copy link
Copy Markdown
Member

Addressed Issues:

No separate issue: this is a small UI fix on the Received Invoices page, found while testing the Sepolia redeploy.

Screenshots/Recordings:

TODO: Received Invoices table before (two checkbox columns) and after (one column), plus the Export dialog with paid and unpaid invoices selected.

Additional Notes:

Problem

  • The Received Invoices table had two unlabeled checkbox columns: one for batch payment and one for bulk export. On screen they looked like a duplicate.
  • The Batch Payment panel's own "Export Selected" menu exported the invoice open in the details drawer (drawerState.selectedInvoice), not the selected rows. With no drawer open, it only showed "No invoice selected".

Change

  • One checkbox column, driving both actions:
    • Export Selected (top button) exports every selected invoice on the page, in CSV, JSON or PDF, as one file or a ZIP.
    • Pay N Selected Invoices pays only the selected invoices that can still be paid (isInvoicePayable). Paid, cancelled or mismatched invoices can stay selected for export without blocking a batch payment, so the earlier "deselect unpayable invoices" guard is no longer needed.
  • The header checkbox selects or clears every invoice visible in the table. The panel's "Select All Unpaid (N)" still selects only payable invoices.
  • Removed the broken panel export menu and its state, and the now-unused batchHasUnpayable string.
  • Added aria-labels to the row and header checkboxes.

Testing

  • npm run lint, npm test (273/273) and npm run build pass locally.

Known overlap: #234 also edits ReceivedInvoice.jsx, so whichever PR merges second needs a rebase.

AI Usage Disclosure:

Check one of the checkboxes below:

  • This PR does not contain AI-generated code at all.
  • This PR contains AI-generated code. I have read the AI Usage Policy and this PR complies with this policy. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools: Claude Code (Claude Opus 5.5)

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.
  • I have filled this PR template completely and carefully, and I understand that my PR may be closed without review otherwise.

The Received Invoices table had two unlabeled checkbox columns, one for
batch payment and one for bulk export, which looked like a duplicate. It
now has one. Export Selected exports every selected invoice, and Pay
Selected pays only the selected invoices that can still be paid, so paid,
cancelled or mismatched invoices can stay selected for export without
blocking a batch payment.

Also removes the Batch Payment panel's own Export Selected menu. It
exported the invoice open in the details drawer rather than the selection,
so with no drawer open it only showed "No invoice selected".
@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 16 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: StabilityNexus/Chainvoice/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: a42a09f3-3893-4901-90ba-e3b84a1ba756
📥 Commits

Reviewing files that changed from the base of the PR and between 0d075f7 and 9612841.

📒 Files selected for processing (2)
  • frontend/src/locales/en.json
  • frontend/src/page/ReceivedInvoice.jsx
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Atharva0506
Atharva0506 marked this pull request as ready for review October 7, 2026 10:54
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

✅ Build successful!

Build Size Metrics
Metrics not found

Workflow run · commit 9612841

@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

🔍 PR Preview

Status 🗑️ Removed — this pull request is closed

github-actions Bot added a commit that referenced this pull request Oct 7, 2026
@Atharva0506
Atharva0506 merged commit 0ca1dda into StabilityNexus:main Oct 7, 2026
7 checks passed
github-actions Bot added a commit that referenced this pull request Oct 7, 2026
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