Feat/payments devtools skeletons errorboundary#374
Open
lonerthefirst3-sudo wants to merge 4 commits into
Open
Conversation
- New /payments route showing all payments made by connected wallet - Sortable table (date desc by default, toggle amount) with pagination (20/page) - Total paid summary: "You have paid X XLM across Y invoices" - Download CSV exports full payment history - Empty state with Browse Invoices CTA - Responsive: table on desktop, card list on mobile - SkeletonPaymentRow placeholder during loading - Redirects to home if wallet is not connected Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- wallet, invoice, and UI Zustand stores in src/lib/stores/ - devtools middleware applied to all stores with explicit names: WalletStore, InvoiceStore, UIStore - immer middleware alongside devtools for ergonomic nested updates - DevTools enabled only in development (enabled: process.env.NODE_ENV === 'development') - Named set calls for every action (e.g. "wallet/setConnected") - 13 new store unit tests covering all state transitions - CONTRIBUTING.md: "Debugging state with Redux DevTools" section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SkeletonPaymentRow: matches payment history table row / mobile card - SkeletonLeaderboardRow: matches leaderboard row layout - SkeletonCreatorProfile: avatar + name + 3-stat grid - SkeletonDashboardStats: 4-card dashboard stats grid - InvoiceListSkeleton now accepts count prop (default 6) - DeferredSkeleton wrapper: suppresses skeleton if data loads < 200ms - useDeferredShow hook: 200ms delay before showing skeleton - All new skeletons have aria-busy="true" and aria-label="Loading..." - shimmer uses animate-pulse (light + dark mode compatible) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- @sentry/nextjs installed and configured via sentry.{client,server,edge}.config.ts
- Sentry.init only called when NEXT_PUBLIC_SENTRY_DSN is set (disabled in dev)
- withSentryConfig wraps next.config.js for source map upload on build
- ErrorBoundary dynamically imports Sentry, calls captureException, displays event ID
- "Something went wrong" fallback now shows Reload Page + Go to Dashboard buttons
- Route-level error.tsx boundaries in /invoice/[id] and /dashboard
- /payments/error.tsx added with route-level Sentry capture
- Pre-existing bugs fixed: duplicate useRouter in DashboardClient, unclosed Link tag,
missing JSX sibling wrapper, undefined canvas reference in timelineImageExport,
missing "reminder" and "expired" notification types, mismatched ref type
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@lonerthefirst3-sudo 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. |
|
@lonerthefirst3-sudo 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.
summary