feat(TransactionHistory): add fee total, multi-op filter, and 7-day trend - #416
Merged
k-deejah merged 1 commit intoJul 29, 2026
Conversation
…rend Gives cost auditors and power users a summary of what the displayed history actually cost and how active the account has been. - Footer sums `feePaid` across the displayed transactions and shows the stroops total alongside an XLM approximation. Unparseable fees are skipped so a bad value can't render NaN. - "Multi-op" toggle filters the list to transactions with more than one operation; the fee total follows the filtered set. - New `showTrend` prop renders a 7-day activity sparkline in the header, bucketed by local calendar day. Resolves Sorokit#403
|
@KayProject 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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #403
What this adds
1. Total fee footer. The card footer now sums
feePaidacross the displayed transactions and shows the stroops total with an XLM approximation (1 XLM = 10,000,000 stroops). Values that don't parse are skipped rather than poisoning the sum intoNaN.2. "Multi-op" filter toggle. A toggle beside the status filters narrows the list to transactions with
operationCount > 1. It carriesaria-pressedso its state is exposed to assistive tech. The fee total recomputes from the filtered set, so the number always describes what's on screen.3.
showTrendprop. Opt-in 7-day activity sparkline in the card header, rendered as height-scaled bars with arole="img"summary label and a per-bar tooltip.Implementation notes
Math.max(..., 8)for a minimum height so a low-but-nonzero day is still visible, with empty days rendered inbg-surface-2.Verification
npx vitest run src/components/TransactionHistory.test.tsx— 29 passed, including 7 new cases covering the fee sum, unparseable fees, the multi-op toggle round-trip, total-follows-filter, and sparkline bucketing/scaling.Full-suite check for regressions:
main(5bc3678)Identical failure counts, +7 passing — no regressions.
Heads-up on the build AC
npm run builddoes not currently pass onmain, for reasons unrelated to this change:src/components/FeeEstimator.tsxandsrc/components/SorobanPanel.tsxeach contain an unclosed block left by a merge, which also accounts for the 61 pre-existing test failures above. Happy to open a separate PR repairing those two files if that's useful.ESLint is clean on both changed files.