Skip to content

Design distinct empty, loading, and error variants for the MarketplacePage results grid #151

Description

@greatest0fallt1me

Description

This is a UI/UX issue. MarketplacePage.tsx today shows a generic empty state regardless of cause (no results vs. filter-too-tight vs. network error). Design three distinct variants — empty (no APIs), filtered-empty (filters too narrow), and error (fetch failed) — each with the right illustration tone, headline, body, and primary action.

Requirements and Context

  • Reference: src/pages/MarketplacePage.tsx, src/components/EmptyState.tsx, src/components/ServerError.tsx
  • Filtered-empty must show "Clear all filters" as the primary action
  • Network error must show "Retry" + link to status page
  • All three must share spacing/typography so the page does not jump visually between states
  • Must be secure, tested, and documented
  • Should be efficient and easy to review

Suggested Execution

  1. Fork the repo and create a branch
    git checkout -b feature/marketplace-state-variants
  2. Implement changes
    • src/components/EmptyState.tsx — extend to accept variant: 'empty' | 'filtered' | 'error'
    • src/pages/MarketplacePage.tsx — pick variant from apis.length, hasActiveFilters, fetchError
    • Add three small inline SVG illustrations sharing one stroke style
  3. Test and commit
    • Simulate each state and screenshot for the PR
    • Tab into each state and verify the CTA is the first focusable

Example commit message

feat: differentiate MarketplacePage empty/filtered/error states

Acceptance Criteria

  • Three variants render distinctly with consistent layout
  • Filtered-empty wires "Clear all filters" to existing handler
  • Error variant exposes a "Retry" button that retriggers fetch
  • All illustrations are aria-hidden and decorative only

Guidelines

  • Match copy tone from docs/UI-Design-System.md (concise, action-first)
  • Keep illustrations under 8KB each, inline SVG only
  • Clear documentation and inline comments
  • Timeframe: 96 hours

Metadata

Metadata

Labels

GRANTFOX OSSGrantFox open-source campaign taskMAYBE REWARDEDMay be rewarded under the GrantFox campaignOFFICIAL CAMPAIGNOfficial GrantFox campaign issueStellar WaveIssues in the Stellar wave programaccessibilityWCAG 2.1 AA accessibilitydesignVisual/design-system workenhancementNew feature or improvementui/uxUI/UX design, usability, and visual polish

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions