Skip to content

[fix] Filter bar mobile polish — shorten labels + cleanup orphaned components #310

@realproject7

Description

@realproject7

Summary

Quick follow-up fixes for the filter bar (#308/PR #309).

1. Shorten filter labels on mobile

On mobile, writer:Human genre:Science Fiction lang:Korean is too long for one line. Shorten labels on small screens:

  • writer:W: on mobile
  • genre:G: on mobile
  • lang:L: on mobile
  • Desktop: keep full labels

Use responsive classes (e.g. <span className="sm:hidden">W:</span><span className="hidden sm:inline">writer:</span>) or a similar approach.

File: src/components/FilterBar.tsx

2. Remove orphaned filter components

The old filter components are no longer imported anywhere after FilterBar replaced them:

  • src/components/WriterFilter.tsx — only the type WriterFilterValue is still imported in page.tsx; move the type to FilterBar or a shared types file, then delete
  • src/components/GenreLanguageFilter.tsx — completely unused
  • src/components/SortDropdown.tsx — completely unused

3. Add flex-shrink safety on narrow screens

The filter bar container (flex items-center gap-x-3) has no wrapping. On very narrow screens (<370px), tokens may crowd. Add min-w-0 and shrink-0 on the sort icon, or consider overflow-x-auto on the container as a safety net.

Acceptance Criteria

  • Mobile: filter labels show as W:, G:, L: — desktop: full writer:, genre:, lang:
  • Orphaned filter components removed (WriterFilter, GenreLanguageFilter, SortDropdown)
  • No type errors after cleanup (WriterFilterValue type preserved)
  • Filter bar doesn't overflow on narrow screens
  • npm run typecheck and npm run lint pass (no new issues)

Labels

agent/T3, plotlink, ui, mobile

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/T3Assigned to T3 builder agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions