From 04212f5646df9b49e6b578c250074af5da633fd4 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 15 Jan 2019 20:04:48 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/Reader.vue | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index 4067c1ab..3e6eb7d6 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -197,7 +197,7 @@ class Reader extends Vue { const isParsed = await bookManager.hasBookParsed(last); if (!isParsed) { this.$root.$emit('set-app-title'); - this.loadBook({url: last.url, bookPos: last.bookPos}); + this.loadBook({url: last.url}); return; } else { this.bookPos = last.bookPos; @@ -205,11 +205,12 @@ class Reader extends Vue { this.updateRoute(); const textPage = this.$refs.page; + if (textPage.showBook) { + textPage.lastBook = last; + textPage.bookPos = (this.bookPos !== undefined ? this.bookPos : 0); - textPage.lastBook = last; - textPage.bookPos = (this.bookPos !== undefined ? this.bookPos : 0); - - textPage.showBook(); + textPage.showBook(); + } }); } @@ -226,15 +227,17 @@ class Reader extends Vue { progress.show(); progress.setState({state: 'parse'}); + const key = bookManager.keyFromUrl(opts.url); + let wasOpened = this.reader.openedBook[key]; + wasOpened = (wasOpened ? wasOpened : {}); + const bookParsed = await bookManager.getBook({url: opts.url}, (prog) => { progress.setState({progress: prog}); }); if (bookParsed) { - let isOpened = this.reader.openedBook[bookParsed.key]; - isOpened = (isOpened ? isOpened : {}); - const bookPos = (opts.bookPos !== undefined ? opts.bookPos : isOpened.bookPos); + const bookPos = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos); this.commit('reader/setOpenedBook', Object.assign({bookPos}, bookManager.metaOnly(bookParsed))); this.loaderActive = false; @@ -253,10 +256,7 @@ class Reader extends Vue { progress.setState({progress: prog}); }); - let isOpened = this.reader.openedBook[addedBook.key]; - isOpened = (isOpened ? isOpened : {}); - - const bookPos = (opts.bookPos !== undefined ? opts.bookPos : isOpened.bookPos); + const bookPos = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos); this.commit('reader/setOpenedBook', Object.assign({bookPos}, bookManager.metaOnly(addedBook))); this.loaderActive = false;