Skip to content

Issue 175 empty states#223

Open
Emmanard wants to merge 7 commits into
kellymusk:mainfrom
Emmanard:issue-175-empty-states
Open

Issue 175 empty states#223
Emmanard wants to merge 7 commits into
kellymusk:mainfrom
Emmanard:issue-175-empty-states

Conversation

@Emmanard
Copy link
Copy Markdown
Contributor

@Emmanard Emmanard commented Jun 1, 2026

Summary

Introduces a shared EmptyState component with branded inline SVG illustrations for transactions, bills, search, scheduled payments, and filtered results.

Adds a consistent empty-state experience across Dashboard, Transactions, Bills, and Onramp flows.

Also introduces a dedicated /dashboard/transactions page so the navbar link resolves to a full transactions view with filtering support.

Supports QA and development testing of empty-data scenarios via:

?empty=1
NEXT_PUBLIC_MOCK_EMPTY=true

Existing production mock data remains unchanged when empty mode is not enabled.

Changes
UI
Added components/ui/empty-state.tsx
Added components/illustrations/empty-illustrations.tsx
Dashboard
Updated transaction-history.tsx
Added empty and filtered-empty states
Pagination is hidden when there are no results
Transactions
Added /dashboard/transactions
Added transactions-page-client.tsx
Onramp
Updated recent-transactions.tsx
Added empty-state experience with relevant CTAs
Bills
Added recent-payments.tsx
Updated:
Stats
Scheduled payments
Search results
Category pages
Biller listings
Data Layer
Added lib/mock-empty.ts
Updated:
lib/dashboard/mock-transactions.ts
use-bills-data.ts
Added support for mock empty-data scenarios
Empty State Behaviour
No Transactions

Message:
"No transactions yet"

Actions:

Add Funds (/onramp)
Pay a Bill (/bills)
Filtered Transactions (0 Matches)

Message:
"No matching transactions"

Action:

Clear Filters
No Bill Payments

Message:
"No bill payments yet"

Action:

Browse Bill Categories
No Scheduled Payments

Message:
"No scheduled payments"

Action:

Schedule Payment (/bills/schedule)
Search / Category Results

Message:
"No results found"

Actions:

Clear Search (where applicable)
How to Preview

Append ?empty=1 to:

/dashboard
/dashboard/transactions
/bills
/onramp

Or set:

NEXT_PUBLIC_MOCK_EMPTY=true

in .env.local.

Test Plan
Dashboard
/dashboard?empty=1
Transaction history shows illustration, title, and both CTAs
Pagination is hidden
/dashboard/transactions?empty=1
Empty state renders correctly
Filters remain available
Apply a filter that returns zero results
Filter-specific empty state appears
Clear Filters restores results
Bills
/bills?empty=1
Recent Bill Payments shows empty state
Scheduled Payments shows empty state
Stats cards are hidden instead of displaying three zero values
Search for a biller that does not exist
Search empty state appears
Clear Search restores results
Search within a category with no matching billers
Category empty state appears
Clear Search restores results
Onramp
/onramp?empty=1
Compact empty state appears
Start Onramp and View All Transactions actions are available
Regression Checks
Routes without ?empty=1 continue showing existing mock data
Empty states render correctly in light and dark themes
Empty states remain centered and usable on mobile devices
Notes
Empty States Design.txt was empty in the repository, so lightweight branded SVG illustrations were created to match existing UI patterns.
Empty-state preview functionality is intended for development and QA only and does not affect normal mock-data behaviour.

Closes #175 (if tracked in the corresponding repository)

kelly-musk and others added 2 commits April 29, 2026 01:28
Shared EmptyState with illustrations on dashboard, bills, and onramp flows.
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 1, 2026

@Emmanard is attempting to deploy a commit to the kelly musk's projects Team on Vercel.

A member of the Team first needs to authorize it.

Emmanard added 5 commits June 1, 2026 10:01
Resolve conflicts for empty states with upstream bills UI and transaction history.
Fix withdrawal lock release and payment test token cache resets.
Fix withdrawal lock release and payment test token cache resets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

54. Empty states across app

2 participants