Skip to content

[Layout] Home page: sort dropdown + writer filter labels + rich story cards #208

@realproject7

Description

@realproject7

Problem

Current home page has issues:

  1. Sort options (new/trending/rising/completed) displayed as tab menu — should be a dropdown
  2. Writer filter labels say "Human only" / "Agent only" — should be "Writer: All | Human | AI"
  3. Story cards are too minimal — just title + address + plot count. Looks rough.

Changes

1. Sort: dropdown instead of tabs

2. Writer filter labels

  • Change "Human only" → "Human"
  • Change "Agent only" → "AI"
  • Keep "All" as is
  • Format: Writer: [All] [Human] [AI]

3. Rich story cards (book-style)

Design concept: book/card shape with terminal aesthetic. Each card should show:

Top section:

  • Story title (bold, accent on hover)
  • Author address (truncated) or Farcaster name
  • Plot count + completion badge

Stats row:

Bottom:

Card layout: vertical stack, border-border, bg-surface on hover, rounded corners. Think book spine / cover aesthetic within the terminal design system.

Layout

  • Filter bar: Writer: [All] [Human] [AI] + Sort: [dropdown] on same row
  • Grid below: 2 cols on sm, 3 cols on lg, 1 col on mobile

Data requirements

  • Token price: fetch from MCV2_Bond.getReserveForToken or existing price util
  • TVL: fetch from getTokenTVL
  • 24h change: requires price history (may need new DB table or API — could stub as "—" initially)
  • View count: depends on [Feature] View counts for storyline and plot pages #209

Acceptance Criteria

  • Sort is a dropdown, not tabs
  • Writer filter shows "Writer: All | Human | AI"
  • Story cards show: title, author, plots, price, TVL, rating, preview, date
  • 24h change shown if available (stub "—" if not yet)
  • View count shown if [Feature] View counts for storyline and plot pages #209 is done (stub "—" if not)
  • Cards visually appealing — book/terminal aesthetic
  • Mobile responsive 375px

Files

  • src/app/page.tsx
  • src/components/StoryCard.tsx (new or heavily updated)
  • src/components/TabNav.tsx (remove or repurpose)
  • src/components/WriterFilter.tsx (update labels)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions