feat: local store read progress for later sync
This commit is contained in:
31
src/lib/services/client-offlinebook.service.ts
Normal file
31
src/lib/services/client-offlinebook.service.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { KomgaBook } from "@/types/komga";
|
||||
|
||||
export class ClientOfflineBookService {
|
||||
static setCurrentPage(book: KomgaBook, page: number) {
|
||||
localStorage.setItem(`${book.id}-page`, page.toString());
|
||||
}
|
||||
|
||||
static getCurrentPage(book: KomgaBook) {
|
||||
const readProgressPage = book.readProgress?.page || 0;
|
||||
if (typeof localStorage !== "undefined") {
|
||||
const cPageLS = localStorage.getItem(`${book.id}-page`) || "0";
|
||||
const currentPage = parseInt(cPageLS);
|
||||
|
||||
if (currentPage < readProgressPage) {
|
||||
return readProgressPage;
|
||||
}
|
||||
|
||||
return currentPage;
|
||||
} else {
|
||||
return readProgressPage;
|
||||
}
|
||||
}
|
||||
|
||||
static removeCurrentPage(book: KomgaBook) {
|
||||
localStorage.removeItem(`${book.id}-page`);
|
||||
}
|
||||
|
||||
static removeCurrentPageById(bookId: string) {
|
||||
localStorage.removeItem(`${bookId}-page`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user