Bläddra i källkod

Промежуточный коммит

Book Pauk 6 år sedan
förälder
incheckning
3d6c62c5e0

+ 2 - 1
client/components/Reader/ProgressPage/ProgressPage.vue

@@ -53,7 +53,8 @@ class ProgressPage extends Vue {
     }
 
     setState(state) {
-        this.text = (ruMessage[state.state] ? ruMessage[state.state] : state.state);
+        if (state.state)
+            this.text = (ruMessage[state.state] ? ruMessage[state.state] : state.state);
         this.step = (state.step ? state.step : this.step);
         this.totalSteps = (state.totalSteps > this.totalSteps ? state.totalSteps : this.totalSteps);
         this.progress = (state.progress ? state.progress : this.progress);

+ 9 - 2
client/components/Reader/Reader.vue

@@ -128,13 +128,20 @@ class Reader extends Vue {
         this.$nextTick(async() => {
             const progress = this.$refs.page;
             await progress.show();
-            progress.setState({totalSteps: 4});
+            progress.setState({totalSteps: 5});
+
             try {
                 const book = await readerApi.loadBook(url, (state) => {
                     progress.setState(state);
                 });
 
-                await bookManager.add(book);
+                progress.setState({state: 'parse', step: 5, progress: 0});
+                const meta = await bookManager.addBook(book, (prog) => {
+                    progress.setState({progress: prog});
+                });
+
+                this.commit('reader/addOpenedBook', meta);
+                this.commit('reader/setLoaderActive', false);
 
                 this.progressActive = await progress.hide();
             } catch (e) {

+ 7 - 1
client/components/Reader/TextPage/TextPage.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="main">
-        Text page 
+        <pre>{{ lastOpenedBook }}</pre>
     </div>
 </template>
 
@@ -8,6 +8,7 @@
 //-----------------------------------------------------------------------------
 import Vue from 'vue';
 import Component from 'vue-class-component';
+import bookManager from '../share/bookManager';
 
 export default @Component({
 })
@@ -16,6 +17,11 @@ class TextPage extends Vue {
         this.commit = this.$store.commit;
         this.dispatch = this.$store.dispatch;
         this.config = this.$store.state.config;
+        this.reader = this.$store.state.reader;
+    }
+
+    get lastOpenedBook() {
+        return this.$store.getters['reader/lastOpenedBook'];
     }
 
     keyHook(event) {

+ 2 - 0
client/components/Reader/share/BookParser.js

@@ -0,0 +1,2 @@
+export default class BookParser {
+}

+ 17 - 1
client/components/Reader/share/bookManager.js

@@ -1,7 +1,23 @@
 import 'localforage';
+import path from 'path';
+
+import BookParser from './BookParser';
 
 class BookManager {
-    async add() {
+    async addBook(book, callback) {
+        let meta = {url: book.url, path: book.path};
+
+        meta.key = path.basename(book.path);
+
+        if (callback)
+            callback(100);
+        return meta;
+    }
+
+    async hasBook(meta) {
+    }
+
+    async getBook(meta) {
     }
 }