Skip to content

feat(chats): replace book filter pills with a dropdown selector - #291

Merged
yicheng47 merged 4 commits into
mainfrom
feat/278-chats-book-filter-dropdown
Jul 15, 2026
Merged

feat(chats): replace book filter pills with a dropdown selector#291
yicheng47 merged 4 commits into
mainfrom
feat/278-chats-book-filter-dropdown

Conversation

@yicheng47

Copy link
Copy Markdown
Owner

Summary

Implements #278, plus two chat-rendering fixes folded in per review discussion.

Chats book filter dropdown (#278)

  • Replace the book-filter pill row with a compact dropdown next to the search input: "All Books" with total count, then one entry per book with its chat count, sorted by count descending
  • Select primitive gains an optional right-aligned detail per option (backward-compatible with all existing consumers)
  • Sort buttons (Newest/Oldest) move onto the search line; the chat list gains the reclaimed vertical space
  • No visible horizontal or vertical scrollbars on the Chats page (scrollbar-none on the list; the only overflow-x-auto element was the pill row, now gone)
  • No new i18n strings needed — reuses chats.allBooks

Render GFM markdown in AI replies

AI replies containing tables rendered as literal pipe text because bare react-markdown is CommonMark-only. Added remark-gfm at all six <Markdown> call sites (MessageBubble, LookupPopover, ExplainPopover, VocabDetailModal), so tables, strikethrough, and task lists now render.

Markdown style extraction

MessageBubble's inline markdown class wall (including inert prose classes — @tailwindcss/typography was never installed) moved to a .markdown-body class in index.css, a 1:1 translation using the design tokens, extended with table styles (bordered cells, semibold headers, horizontal scroll for wide tables in the narrow AI panel).

Closes #278

🤖 Generated with Claude Code

yicheng47 and others added 4 commits July 15, 2026 22:51
Also render GFM markdown (tables, strikethrough, task lists) in AI
replies via remark-gfm, and extract MessageBubble's inline markdown
styles into a .markdown-body class in index.css.

Closes #278

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Vocab words now always sort alphabetically; chats keep newest-first.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@yicheng47
yicheng47 merged commit 2560e91 into main Jul 15, 2026
2 checks passed
@yicheng47
yicheng47 deleted the feat/278-chats-book-filter-dropdown branch July 15, 2026 15:11
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.

feat: replace Chats book filter pills with a dropdown selector

1 participant