From b8f5edeb95d528d2b7375f2ea31cfbd2bc947e35 Mon Sep 17 00:00:00 2001 From: Ruben GM <2044827+rubengarciam@users.noreply.github.com> Date: Sat, 20 Sep 2025 04:17:00 +1000 Subject: [PATCH] partially read series: add number of books read from total (#1168) --- .../series-page/series-page.component.html | 5 +++- .../series-page/series-page.component.ts | 29 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/booklore-ui/src/app/book/components/series-page/series-page.component.html b/booklore-ui/src/app/book/components/series-page/series-page.component.html index 85902e5cc..a06743426 100644 --- a/booklore-ui/src/app/book/components/series-page/series-page.component.html +++ b/booklore-ui/src/app/book/components/series-page/series-page.component.html @@ -69,6 +69,9 @@ {{ getStatusLabel(s) }} + @if (s === 'PARTIALLY_READ') { + ({{ seriesReadProgress$ | async }}) + }
@@ -120,4 +123,4 @@ Loading series details... -} \ No newline at end of file +} diff --git a/booklore-ui/src/app/book/components/series-page/series-page.component.ts b/booklore-ui/src/app/book/components/series-page/series-page.component.ts index dbca831d4..543f839e3 100644 --- a/booklore-ui/src/app/book/components/series-page/series-page.component.ts +++ b/booklore-ui/src/app/book/components/series-page/series-page.component.ts @@ -127,6 +127,13 @@ export class SeriesPageComponent { const allRead = statuses.every((s) => s === ReadStatus.READ); if (allRead) return ReadStatus.READ; + // If any book is currently being read, surface series status as READING + const isAnyReading = statuses.some( + (s) => s === ReadStatus.READING || s === ReadStatus.RE_READING || s === ReadStatus.PAUSED + ); + if (isAnyReading) return ReadStatus.READING; + + // If some are read and some are unread, surface as PARTIALLY_READ const someRead = statuses.some((s) => s === ReadStatus.READ); if (someRead) return ReadStatus.PARTIALLY_READ; @@ -137,6 +144,15 @@ export class SeriesPageComponent { }) ); + // Progress like "12/20" (read/total) + seriesReadProgress$: Observable