diff --git a/booklore-api/src/main/java/com/adityachandel/booklore/model/dto/request/ReadProgressRequest.java b/booklore-api/src/main/java/com/adityachandel/booklore/model/dto/request/ReadProgressRequest.java index fb49141ba..e367b1179 100644 --- a/booklore-api/src/main/java/com/adityachandel/booklore/model/dto/request/ReadProgressRequest.java +++ b/booklore-api/src/main/java/com/adityachandel/booklore/model/dto/request/ReadProgressRequest.java @@ -19,6 +19,6 @@ public class ReadProgressRequest { @AssertTrue(message = "At least one progress field must be provided") public boolean isProgressValid() { - return epubProgress != null || pdfProgress != null || cbxProgress != null || dateFinished != null; + return epubProgress != null || pdfProgress != null || cbxProgress != null; } } diff --git a/booklore-api/src/main/java/com/adityachandel/booklore/service/BookService.java b/booklore-api/src/main/java/com/adityachandel/booklore/service/BookService.java index 541dde2df..4215d7e4d 100644 --- a/booklore-api/src/main/java/com/adityachandel/booklore/service/BookService.java +++ b/booklore-api/src/main/java/com/adityachandel/booklore/service/BookService.java @@ -312,12 +312,9 @@ public class BookService { userBookProgress.setCbxProgress(request.getCbxProgress().getPage()); userBookProgress.setCbxProgressPercent(request.getCbxProgress().getPercentage()); } - - // Update dateFinished if provided if (request.getDateFinished() != null) { userBookProgress.setDateFinished(request.getDateFinished()); } - userBookProgressRepository.save(userBookProgress); } @@ -340,7 +337,7 @@ public class BookService { progress.setUser(userEntity); progress.setBook(book); progress.setReadStatus(readStatus); - + // Set dateFinished when status is READ, clear it otherwise if (readStatus == ReadStatus.READ) { progress.setDateFinished(Instant.now()); diff --git a/booklore-ui/src/app/metadata/book-metadata-center-component/metadata-viewer/metadata-viewer.component.html b/booklore-ui/src/app/metadata/book-metadata-center-component/metadata-viewer/metadata-viewer.component.html index 4159e3e06..93863f3cb 100644 --- a/booklore-ui/src/app/metadata/book-metadata-center-component/metadata-viewer/metadata-viewer.component.html +++ b/booklore-ui/src/app/metadata/book-metadata-center-component/metadata-viewer/metadata-viewer.component.html @@ -303,47 +303,6 @@ {{ getStatusLabel(selectedReadStatus) }} - @if (selectedReadStatus === ReadStatus.READ) { - @if (!isEditingDateFinished) { - - @if (book?.dateFinished) { - Finished on {{ formatDate(book.dateFinished) }} - } @else { - Click to set finish date - } - - } @else { -
- - - - - - -
- } - }

@if (book?.koreaderProgress && book.koreaderProgress?.percentage != null) {

@@ -369,6 +328,53 @@

} + @if (selectedReadStatus === ReadStatus.READ) { +
+ @if (book?.dateFinished) { +
+

Finished On:

+ @if (!isEditingDateFinished) { +
+

{{ formatDate(book.dateFinished) }}

+ + +
+ } @else { +
+ + + + + + +
+ } +
+ } +
+ }

Page Count: {{ book?.metadata!.pageCount || '-' }}