diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index 94c4760f..4edc1a92 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -1091,7 +1091,7 @@ class Reader { progress.setState({state: 'parse'}); // есть ли среди недавних - let wasOpened = bookManager.findRecentByUrl(url); + let wasOpened = bookManager.findRecentByUrlAndPath(url, opts.path); wasOpened = (wasOpened ? wasOpened : {}); const bookPos = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos); const bookPosSeen = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPosSeen); @@ -1101,7 +1101,7 @@ class Reader { if (!opts.force) { // пытаемся загрузить и распарсить книгу в менеджере из локального кэша - const bookParsed = await bookManager.getBook({path: (opts.path? opts.path : wasOpened.path)}, (prog) => { + const bookParsed = await bookManager.getBook({path: (opts.path ? opts.path : wasOpened.path)}, (prog) => { progress.setState({progress: prog}); }); diff --git a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue index 8ec2c51e..eba83b0f 100644 --- a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue +++ b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue @@ -29,7 +29,8 @@ - - +
{{ props.row.touchDate }}
{{ props.row.touchTime }}
- +
{{ props.row.desc.author }} @@ -311,8 +312,8 @@ class RecentBooksPage { this.close(); } - loadBook(url) { - this.$emit('load-book', {url}); + loadBook(row) { + this.$emit('load-book', {url: row.url, path: row.path}); this.close(); } diff --git a/client/components/Reader/share/bookManager.js b/client/components/Reader/share/bookManager.js index 233c0a95..c7b1fe38 100644 --- a/client/components/Reader/share/bookManager.js +++ b/client/components/Reader/share/bookManager.js @@ -485,13 +485,13 @@ class BookManager { return result; } - findRecentByUrl(url) { + findRecentByUrlAndPath(url, bookPath) { let max = 0; let result = null; for (const key in this.recent) { const book = this.recent[key]; - if (!book.deleted && book.url == url && book.addTime > max) { + if (!book.deleted && book.url == url && book.addTime > max && (!bookPath || book.path == bookPath)) { max = book.addTime; result = book; }