Skip to content

feat: creator portfolio stats, invoice comparison, widgets builder, payer reputation (#806 #807 #808 #809) - #842

Merged
Kingsman-99 merged 2 commits into
Stellar-split:mainfrom
borix-coder:feat/806-807-808-809-portfolio-compare-widgets-reputation
Sep 28, 2026
Merged

Kingsman-99 merged 2 commits into
Stellar-split:mainfrom
borix-coder:feat/806-807-808-809-portfolio-compare-widgets-reputation

Conversation

@borix-coder

Copy link
Copy Markdown

Summary

This PR implements four features from the Drips Wave program:


#806 — Creator Portfolio Page with Statistics

Enhanced the creator profile page at /creator/[address] with a rich portfolio statistics view:

  • Tabbed layout — "Invoices" tab and a new "Portfolio Stats" tab
  • Reputation gauge — animated SVG ring visualising the score (0–100)
  • Status distribution chart — CSS bar chart showing breakdown by invoice status
  • Activity summary grid — active, overdue, released, pending, cancelled counts + avg funding %
  • Status filter chips — filter the invoice list by status with live counts
  • Deadline date on every invoice card

#807 — Invoice Comparison Tool — Side-by-Side View

Replaced the two-column card layout in CompareInvoicesView with a structured table comparison:

  • 3-column data table (Field / Invoice A / Invoice B) — easier to scan
  • Yellow ring highlight (ring-2 ring-yellow-400/60) on any field that differs
  • Diff-only toggle — show all fields or only the ones that differ
  • Delta summary bar — shows: number of differences, amount Δ, funded Δ, progress Δ

#808 — Custom Dashboard Widgets Builder

New DashboardWidgetsBuilder component at /settings/widgets:

  • 8 configurable widgets (Total Invoices, Volume, Completion Rate, Active, Overdue, Pending Payments, Activity Feed, Quick Links)
  • Toggle on/off each widget via an accessible switch
  • Size selector — Small (1 col) / Medium (2 cols) / Large (full width)
  • Reorder widgets with up/down buttons
  • Live layout preview showing the enabled widgets in their chosen sizes
  • Persisted to localStorage — layout survives page refresh
  • Link added to /settings

#809 — Payer Reputation Scores Display

New PayerReputationDisplay component and dedicated /reputation page:

  • Score ring — SVG gauge coloured by tier (Elite / Trusted / Established / Emerging / Untrusted)
  • Metrics grid — invoices paid, on-time rate, volume, dispute record
  • Score breakdown bar with progress indicator
  • Compact badge mode for inline use (shown next to payer addresses in payment history)
  • /reputation page — leaderboard of top payers, address lookup, full score breakdown, and scoring methodology explainer
  • Scoring formula: on-time payment rate 40% · dispute win rate 30% · volume component 20% · activity bonus 10%
  • Compact badge integrated into RecipientPaymentHistory payer rows
  • Reputation link added to the main Navbar

Files changed

File Change
src/app/creator/[address]/CreatorProfileClient.tsx Enhanced with tabs, gauge, chart, filters
src/components/CompareInvoicesView.tsx Rewritten as table diff with toggle
src/components/DashboardWidgetsBuilder.tsx New component
src/app/settings/widgets/page.tsx New page
src/app/settings/widgets/DashboardWidgetsBuilderPage.tsx New client wrapper
src/app/settings/page.tsx Added Widgets link
src/components/PayerReputationDisplay.tsx New component
src/app/reputation/page.tsx New page
src/app/reputation/PayerReputationPage.tsx New client page
src/components/Navbar.tsx Added Reputation nav link
src/components/invoice/RecipientPaymentHistory.tsx Compact badge on payer rows

Closes #806
Closes #807
Closes #808
Closes #809

…tellar-split#809 — portfolio stats, invoice compare, widgets builder, payer reputation

Stellar-split#806 — Creator portfolio page enhancements
- Added tabbed layout (Invoices / Portfolio Stats)
- Status filter chips with live counts on invoice list
- SVG reputation gauge ring with tier colour
- Status distribution bar chart (CSS-only, no deps)
- Activity summary grid (active, overdue, released, avg funding %)
- Deadline date shown on each invoice card

Stellar-split#807 — Invoice comparison tool side-by-side view
- Replaced two-column card layout with a structured 3-column data table
- Yellow ring highlight on differing fields (ring-2 + bg-yellow)
- Diff-only toggle to hide identical rows
- Delta summary bar (differences count, amount Δ, funded Δ, progress Δ)
- Removed unused DeadlineCountdown import

Stellar-split#808 — Custom dashboard widgets builder
- New DashboardWidgetsBuilder component with toggle, size selector, reorder
- Live preview grid showing enabled widgets in chosen sizes
- Persisted to localStorage; survives page refresh
- Settings page at /settings/widgets
- Added 'Dashboard Widgets' link to /settings

Stellar-split#809 — Payer reputation scores display
- New PayerReputationDisplay component: SVG score ring, tier badge, metrics grid, score bar
- Compact mode for inline use (badge with tier + score)
- Composite score formula: on-time rate 40%, dispute wins 30%, volume 20%, activity 10%
- Dedicated /reputation page with leaderboard + address lookup + scoring explainer
- Compact reputation badge added to RecipientPaymentHistory payer rows
- Reputation link added to main Navbar
@vercel

vercel Bot commented Sep 27, 2026

Copy link
Copy Markdown

@borix-coder 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

@borix-coder 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 6f2ed4c into Stellar-split:main Sep 28, 2026
0 of 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

2 participants