When a user has no invoices, no LP positions, or no governance activity, pages show blank content. Thoughtful empty states with clear CTAs reduce confusion and guide users to their next action.
Requirements and context
- Design a reusable
<EmptyState icon title description cta /> component
- Apply to: invoice list, LP portfolio, payer inbox, marketplace (no invoices available), governance (no active proposals), earnings history, notifications
- Each empty state should: have a relevant icon, explain why it's empty, and provide a clear CTA (e.g. "Submit your first invoice")
- Write rendering tests for each empty state
Suggested execution
git checkout -b feat/empty-states
- Create
<EmptyState /> component
- Define copy for each empty state context
- Integrate into all list and dashboard views
- Write rendering tests
Example commit message
feat: add contextual empty states with CTAs to all list views
When a user has no invoices, no LP positions, or no governance activity, pages show blank content. Thoughtful empty states with clear CTAs reduce confusion and guide users to their next action.
Requirements and context
<EmptyState icon title description cta />componentSuggested execution
<EmptyState />componentExample commit message
feat: add contextual empty states with CTAs to all list views