Repository navigation
fix(web): name the last name author sort and offer it where it was missing (#2805) - #3116
Conversation
…ssing (vavallee#2805) The Authors list's default sort is by sort_name, which every path stores as "Last, First", but its menu entries read only "A–Z" next to "First name A–Z", as if last name ordering were missing. They now say Last name. The merge authors picker sorted by display name, so it reordered the list it was opened from; it now sorts by sortName, falling back to the display name for a row without one. The Books grid sort menu gains Author A–Z and Z–A, which the server already accepted and only the table header reached. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Francis Rath <fr@ncis.no>
The last name and first name sort labels on the Authors list and the new Author sort on the Books grid, in German, Spanish, French, Dutch, Indonesian, Tagalog and Korean. The first name pair was English only in these locales, so their menus mixed languages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Francis Rath <fr@ncis.no>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Adds the series.merge strings from #3057 to both locales. The keys from #3090 and #3116 wait until those land in en.json. Translations by francisrath. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016fJcCVbNnKsmj2MAAMwWj9 Signed-off-by: vavallee <vavallee@protonmail.com>
vavallee
left a comment
There was a problem hiding this comment.
Thank you, this is a tidy fix and the issue writeup made it easy to check. Both new tests fail on main and pass here, and since useListParams already accepted the author sorts, a shared link with sort=author-za now shows the right option too. One tiny thing: the changelog fragment uses en dashes in the A to Z labels; could you write those out as "A to Z" and "Z to A"? Optionally, "Nom de famille" might read clearer than "Nom" in French. Happy to merge after that.
The changelog fragment spells out "A to Z" and "Z to A" instead of en dashes, French reads "Nom de famille" rather than the bare "Nom", and the merge picker test adds two rows with the same sort name, so the display name tiebreaker is exercised. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Francis Rath <fr@ncis.no>
|
Thanks! Done in |
…t-names Signed-off-by: Francis Rath <fr@ncis.no>
Provider lists in the README, the roadmap Delivered and Next up sections, the In Library meaning for partly owned dual format books, ratings, the Authors list have / total count and the author page sort and filters, the series field in the book edit table, the availableBookCount and rating fields, the rating sort values and the primary provider values in the API reference, and the one time dedup key recompute on first boot. Documents #3125, #3095, #3088, #3134, #3090, #3127, #3150, #3158, #3116, #2915 and #2994. No new environment variables, dependencies or breaking behaviour shipped, so DEPLOYMENT.md env tables, THIRD_PARTY_LICENSES.md and docs/upgrade-v1.md are unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016fJcCVbNnKsmj2MAAMwWj9 Signed-off-by: vavallee <vavallee@protonmail.com>
Provider lists in the README, the roadmap Delivered and Next up sections, the In Library meaning for partly owned dual format books, ratings, the Authors list have / total count and the author page sort and filters, the series field in the book edit table, the availableBookCount and rating fields, the rating sort values and the primary provider values in the API reference, and the one time dedup key recompute on first boot. Documents #3125, #3095, #3088, #3134, #3090, #3127, #3150, #3158, #3116, #2915 and #2994. No new environment variables, dependencies or breaking behaviour shipped, so DEPLOYMENT.md env tables, THIRD_PARTY_LICENSES.md and docs/upgrade-v1.md are unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016fJcCVbNnKsmj2MAAMwWj9 Signed-off-by: vavallee <vavallee@protonmail.com>
Summary
The Authors list already sorts by last name by default, but its menu said only "A–Z" next to "First name A–Z", so it read as if last name ordering were missing. This names it, and offers last name ordering in the two places that didn't have it, as proposed in #2805.
Closes #2805.
What changes
authors.sortAZ/ZAread "Last name A–Z / Z–A". Strings only; the sort is unchanged (sort_key, sort_name, wheresort_nameis "Last, First")sortName, falling back toauthorNamefor a row without one, withauthorNameas the tiebreaker, so it matches the page it opens fromauthor-az/author-za), which the server already accepted and only the table header reachedTranslations are in a separate commit: the last name, first name and author sort labels in de, es, fr, nl, id, tl and ko. The first name pair was English-only in those locales, so their menus mixed languages. German, Spanish, French and Dutch are standard terms; Indonesian, Tagalog and Korean would benefit from a native reader. The nb and sv strings will be posted on #2994.
Checklist
Signed-off-bythat matches its author (git commit -s)changelog.d/2805-author-sort-names.mdTest plan
cd web && npm run typecheck && npm test(1859 passed), eslint clean on the changed filessort=author-za🤖 Generated with Claude Code