Skip to content

feat(browser): mark finished items with a check cap, not a thick bar - #955

Merged
ajslater merged 2 commits into
developfrom
read-state-end-cap
Sep 29, 2026
Merged

ajslater merged 2 commits into
developfrom
read-state-end-cap

Conversation

@ajslater

Copy link
Copy Markdown
Owner

Refs #856.

Alfons' feedback on the v2.4.0 read state: the 6px grey finished bar is hard to tell from the 3px reading bar when you scan a grid of covers.

Changes

  • Check cap. Every read bar is now 3px. A finished comic or all-read collection ends its bar in a 10px grey check circle, the same grey as the fill. The bar runs under the cap to its centre, so the two join with no gap. The fill still shows the real bookmark position, so a comic marked read but never opened is an empty track with its cap.
  • No dimmed captions. Read titles and subtitles keep their normal colour.
  • One component. ReadStateBar (frontend/src/components/read-state-bar.vue) now draws the bar for both the browser card and the metadata dialog. They had duplicated its CSS.
  • Metadata dialog fix (separate commit). The dialog's read bar has been invisible since v2.4.0 because the absolutely positioned cover image painted over it. It now sits 1px under the cover, as on the card. The dialog's buttons move down about 16px.

Testing

  • make lint passes. make test-frontend passes 940 tests, including the new read-state-bar.test.js.
  • Checked in a real browser against a throwaway library, at desktop and phone widths:
    • The cap appears only on an all-read folder, a comic marked read but never opened, and a finished comic being re-read.
    • Reading, mixed and unread items have no cap.
    • All bars measure 3px, the bar ends at the cap's centre, and nothing below the cover moves.
  • No Python changed, so pytest was not run.

🤖 Generated with Claude Code

ajslater and others added 2 commits September 29, 2026 02:06
Issue 856 feedback: the 6px grey finished bar was hard to tell from the
3px reading bar when scanning a grid, and only really read when two cards
sat side by side. The dimmed caption was a second cue that made read
titles harder to read.

Every bar is now 3px. A finished comic or all-read collection ends its
bar in a 10px grey check circle, the same grey as the fill. The bar runs
under the cap to its centre so the two join with no gap. The check is
stroked in the page background instead of cut out, because a cut-out
would show the track through it. The fill is still the real bookmark
position, so a comic marked read but never opened is an empty track and
its cap.

Read titles and subtitles keep their normal colour.

The bar is now one component, ReadStateBar, used by both the browser
card and the metadata dialog. They had duplicated its CSS, and the cap
would have been a third copy to keep in sync.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The read state bar in the metadata dialog has been invisible since the
read state landed in v2.4.0. It sat 15px up over the cover's bottom edge,
where the old v-progress-linear used to be. That component is
positioned, so it painted over the cover. The plain div that replaced it
is not, and the absolutely positioned cover image painted over the bar.

It now sits 1px under the cover at every breakpoint, as on the browser
card, which moves the dialog's buttons down about 16px.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ajslater
ajslater merged commit 3614f27 into develop Sep 29, 2026
9 checks passed
@ajslater
ajslater deleted the read-state-end-cap branch September 29, 2026 09:12
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