Skip to content

feat(invoice): add status timeline, sentiment, payer wallet health and reconciliation panels - #864

Merged
Kingsman-99 merged 1 commit into
Stellar-split:mainfrom
studiomonkeyx:feature/820-823-825-832-invoice-insights
Sep 28, 2026
Merged

Kingsman-99 merged 1 commit into
Stellar-split:mainfrom
studiomonkeyx:feature/820-823-825-832-invoice-insights

Conversation

@studiomonkeyx

Copy link
Copy Markdown

Summary

Adds four mobile-responsive invoice insight panels to the invoice detail page, each backed by a pure, tested helper:

  • Invoice sentiment (InvoiceSentiment, analyzeInvoiceSentiment): a positive, neutral or negative rating based on funding progress, number of unique payers, deadline pressure and final status.
  • Advanced status timeline (AdvancedStatusTimeline, buildStatusStages): Created → Funding → Fully Funded → Released/Refunded, with each stage marked complete, current, upcoming or skipped. Vertical on mobile, horizontal on larger screens.
  • Payer wallet health (PayerWalletHealth, computePayerHealth): totals, payment count and share of funds for each payer, and flags any wallet holding more than 50% of the funds.
  • Reconciliation (ReconciliationPanel, reconcileInvoice): compares the recipient target, the on-chain funded amount and the recorded payments, and reports outstanding balance, overpayment, ledger discrepancies and invalid payments.

Closes: #820
Closes: #823
Closes: #825
Closes: #832

Validation

  • npx vitest run src/__tests__/InvoiceInsights.test.tsx: 15/15 pass
  • tsc --noEmit: no errors in changed files (9 errors already exist on main, same count before and after)
  • next lint: new files are clean. src/app/invoice/[id]/page.tsx still has two lint errors already on main (AccessCodeGate and Link are used without being imported). They are unrelated to this change and were left untouched.

@vercel

vercel Bot commented Sep 27, 2026

Copy link
Copy Markdown

@studiomonkeyx is attempting to deploy a commit to the kingsman-99's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Sep 27, 2026

Copy link
Copy Markdown

@studiomonkeyx Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Kingsman-99
Kingsman-99 merged commit 9ae3f91 into Stellar-split:main Sep 28, 2026
1 of 5 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

2 participants