Skip to content

feat: add author pages with clickable author links#59

Open
tijs wants to merge 1 commit intonperez0111:mainfrom
tijs:feature/author-pages
Open

feat: add author pages with clickable author links#59
tijs wants to merge 1 commit intonperez0111:mainfrom
tijs:feature/author-pages

Conversation

@tijs
Copy link
Contributor

@tijs tijs commented Jan 16, 2026

Summary

  • Add /authors/:author route to browse all books by a specific author
  • Make author names clickable links on book detail pages
  • Each author in a multi-author book is independently clickable
  • Support pagination (100 books per page) and sorting (popularity/reviews)
  • Extract author matching utilities with test coverage

Implementation Details

  • New file: src/pages/authorBooks.tsx - Author books listing page (modeled after genre pages)
  • New file: src/utils/authorMatching.ts - Utilities for tab-separated author matching
  • Modified: src/routes.tsx - Added /authors/:author route handler
  • Modified: src/pages/bookInfo.tsx - Made author names clickable

Screenshots

N/A - text-based changes

Test plan

  • All existing tests pass (44 tests)
  • New tests for author matching utilities (18 tests)
  • Navigate to a book detail page → author names should be styled as links
  • Click an author → should navigate to /authors/Author%20Name
  • Author page shows all books by that author with pagination
  • Test with authors having special characters (periods, apostrophes)
  • For co-authored books, verify each author is a separate link
  • Click different co-authors → same book appears on both pages

Closes #4

- Add /authors/:author route to browse books by author
- Make author names clickable on book detail pages
- Support multiple authors per book (tab-separated)
- Add pagination and sorting (popularity/reviews)
- Extract author matching utilities with tests

Closes nperez0111#4
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.

Please add listings by author

1 participant