Skip to content

Series facts line in the metadata header; Tags button on the browser title - #985

Merged
ajslater merged 1 commit into
developfrom
claude/series-display-1358af
Oct 20, 2026
Merged

ajslater merged 1 commit into
developfrom
claude/series-display-1358af

Conversation

@ajslater

Copy link
Copy Markdown
Owner

Summary

  • Metadata header: the xx-large series row names things only again (The Amazing Spider-Man (1963) #1 / 3, the parenthesised year being the volume's). A subdued facts line under it carries the series run and status (1963–1996 · Completed, also 1963–, –1996 or 1963) in the issue-title size. Nothing renders when both are unknown.
  • Body: the series summary label is now "Series Summary", so it reads right in a series' own pane.
  • Browser title: a series page title gets the same range (The Amazing Spider-Man 1963–1996) from two new nullable title fields, collectionStartYear / collectionEndYear.
  • Tags button on the title bar: opens the browsed collection's own metadata, like the card button. It shows on every collection page except the root listing. It sits absolutely at the bar's right edge so the title stays centred. The title gets symmetric padding so a long name never runs under it.
  • MetadataDialog / MetadataActivator take optional size and density props. The title uses small + compact, a 20×20 button that fits the 24px bar. Cards and the reader are unchanged: still 48px, default size.
  • formattedYearRange() in comic-name.js is shared by the header and the title.

Out of scope

  • A series identifier link (Metron / Comic Vine series URL) in the dialog.
  • Years on series cards' captions.
  • Persisting online-tagged end year / status / summary through tag writes (needs a COMICBOX_JSON write format).

Test results

  • make fix, make lint, make ty: clean.
  • vitest: 1023 passed (98 files). New browser-toolbar-title.test.js covers the title with and without years, a volume title, and the button: absent on root, and on a series page with the expected book. metadata-header.test.js has the adapted range cases plus the facts line.
  • pytest: 1694 passed, 1 xfailed. tests/test_metadata_series_fields.py adds a series title carrying the years and a volume title carrying none.

Screenshots

Checked on an isolated dev stack (fresh DB, three seeded comics) at 1024px and 375px. Local files, to drag in here:

  • /Users/aj/Code/codex/.claude/worktrees/series-display-1358af/tasks/screenshots/1-comic-dialog-facts-line.jpg: a comic's dialog with the facts line
  • /Users/aj/Code/codex/.claude/worktrees/series-display-1358af/tasks/screenshots/2-series-title-tags-button.jpg: the series page title with the Tags button
  • /Users/aj/Code/codex/.claude/worktrees/series-display-1358af/tasks/screenshots/3-series-dialog-from-title.jpg: the series dialog opened from that button
  • /Users/aj/Code/codex/.claude/worktrees/series-display-1358af/tasks/screenshots/4-series-title-mobile.png, 5-comic-dialog-mobile.png: the same at 375px

🤖 Generated with Claude Code

The first cut of the series fields put the series year range and status
inline in the xx-large series row, beside the volume's own parenthesised
year, where they read like part of the name. The series row now names
things only, and a subdued facts line under it carries the run
(1963–1996, 1963–, –1996 or 1963) and the status, joined by a middle dot.
The series summary is labelled "Series Summary" so it still reads
right in a series' own pane, where the comic summary is usually empty.

The browser title appends the same year range on a series page, from
two new nullable title fields (collection_start_year/_end_year). A
plain Tags button at the title bar's right edge opens the browsed
collection's own metadata, like the one on browser cards; the root
listing has none. It is positioned absolutely so the title stays
centred, and the title gets symmetric padding so a long name never runs
under it. MetadataDialog/MetadataActivator take optional size and
density props for it; cards and the reader keep their defaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ajslater
ajslater merged commit b1ee555 into develop Oct 20, 2026
9 checks passed
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.

1 participant