Skip to content

feat: marketplace search/filter, toast notifications, caching, countdown timer - #14

Merged
Chucks1093 merged 10 commits into
StellarState:devfrom
DeFiVC:feat/marketplace-improvements
Jul 28, 2026
Merged

feat: marketplace search/filter, toast notifications, caching, countdown timer#14
Chucks1093 merged 10 commits into
StellarState:devfrom
DeFiVC:feat/marketplace-improvements

Conversation

@DeFiVC

@DeFiVC DeFiVC commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Closes #7, Closes #8, Closes #11, Closes #12

Type of Change

  • New feature (non-breaking change that adds functionality)

Summary

The marketplace page was an empty stub with no invoice browsing, filtering, or feedback mechanisms. This PR implements four interconnected features: a search/filter bar with status dropdown and debounced keyword search, toast notifications for investment confirmations, stale-while-revalidate caching for instant repeat visits, and live countdown timers on invoice cards and detail pages.

Motivation / Context

Investors had no way to find relevant invoices, received no feedback after investing, experienced loading spinners on every navigation, and couldn't see funding deadlines. These four issues address the core marketplace UX gaps.

Closes #7 — Marketplace search/filter bar
Closes #8 — Investment toast notifications
Closes #11 — Stale-while-revalidate caching
Closes #12 — Invoice countdown timer

@drips-wave

drips-wave Bot commented Jul 28, 2026

Copy link
Copy Markdown

@DeFiVC 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

@chizzy192

Copy link
Copy Markdown
Contributor

@DeFiVC pls fix merge conflicts

@DeFiVC
DeFiVC force-pushed the feat/marketplace-improvements branch from c7647ad to f7255b0 Compare July 28, 2026 16:12
Chucks1093 and others added 10 commits July 28, 2026 17:20
Define Invoice, Investment, and InvestmentRequest TypeScript interfaces.
Implement fetchInvoices, fetchInvoice, and createInvestment API functions.
Set staleTime to 60 seconds on the invoice list query so repeat
visits serve cached data immediately and revalidate in background.
Show success toast with truncated tx hash and Stellar Expert link
on confirmed investment. Show error toast on failure. Invalidate
invoice list cache immediately after successful investment.
Install toast (sonner), dropdown select, and badge components
needed for marketplace filtering and investment notifications.
Add sonner Toaster to the Providers component so toasts render
across the entire application.
- Filter bar with status dropdown and debounced keyword search
- Countdown timer showing DD:HH:MM with expired badge fallback
- Invoice card component with status badge and invest button
Wire up filter bar, debounced search, invoice grid, and background
refetch indicator. Show empty state when no invoices match filters.
Display full invoice details with prominent countdown timer,
seller info, and invest button that triggers toast notifications.
Adapt components to use upstream's Invoice type from lib/api instead
of custom types. Restore upstream's API functions and useInvestMutation.
Add countdown timer to InvoiceDetail component. Add invoices list
cache invalidation after successful investment.
@DeFiVC
DeFiVC force-pushed the feat/marketplace-improvements branch from f7255b0 to e744c67 Compare July 28, 2026 17:13
@Chucks1093
Chucks1093 merged commit 95312e6 into StellarState:dev Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment