ソースを参照

Добавлена кнопка offlineMode

Book Pauk 5 年 前
コミット
6868b3effc

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

@@ -38,6 +38,9 @@
                     <el-tooltip v-show="showToolButton['recentBooks']" content="Открыть недавние" :open-delay="1000" effect="light">
                         <el-button ref="recentBooks" class="tool-button" :class="buttonActiveClass('recentBooks')" @click="buttonClick('recentBooks')"><i class="el-icon-document"></i></el-button>
                     </el-tooltip>
+                    <el-tooltip v-show="showToolButton['offlineMode']" content="Автономный режим (без интернета)" :open-delay="1000" effect="light">
+                        <el-button ref="offlineMode" class="tool-button" :class="buttonActiveClass('offlineMode')" @click="buttonClick('offlineMode')"><i class="el-icon-connection"></i></el-button>
+                    </el-tooltip>
                 </div>
 
                 <el-tooltip content="Настроить" :open-delay="1000" effect="light">
@@ -257,6 +260,7 @@ class Reader extends Vue {
     searchActive = false;
     copyTextActive = false;
     recentBooksActive = false;
+    offlineModeActive = false;
     settingsActive = false;
     helpActive = false;
     clickMapActive = false;
@@ -696,6 +700,11 @@ class Reader extends Vue {
         }
     }
 
+    offlineModeToggle() {
+        this.offlineModeActive = !this.offlineModeActive;
+        this.$refs.serverStorage.offlineModeActive = this.offlineModeActive;
+    }
+
     settingsToggle() {
         this.settingsActive = !this.settingsActive;
         if (this.settingsActive) {
@@ -781,11 +790,14 @@ class Reader extends Vue {
             case 'copyText':
                 this.copyTextToggle();
                 break;
+            case 'refresh':
+                this.refreshBook();
+                break;
             case 'recentBooks':
                 this.recentBooksToggle();
                 break;
-            case 'refresh':
-                this.refreshBook();
+            case 'offlineMode':
+                this.offlineModeToggle();
                 break;
             case 'settings':
                 this.settingsToggle();
@@ -806,6 +818,7 @@ class Reader extends Vue {
             case 'search':
             case 'copyText':
             case 'recentBooks':
+            case 'offlineMode':
             case 'settings':
                 if (this[`${button}Active`])
                     classResult = classActive;

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

@@ -176,12 +176,12 @@ class ServerStorage extends Vue {
     }
 
     warning(message) {
-        if (this.showServerStorageMessages)
+        if (this.showServerStorageMessages && !this.offlineModeActive)
             this.$notify.warning({message});
     }
 
     error(message) {
-        if (this.showServerStorageMessages)
+        if (this.showServerStorageMessages && !this.offlineModeActive)
             this.$notify.error({message});
     }
 

+ 1 - 0
client/store/modules/reader.js

@@ -9,6 +9,7 @@ const toolButtons = [
     {name: 'copyText',    show: false, text: 'Скопировать текст со страницы'},
     {name: 'refresh',     show: true, text: 'Принудительно обновить книгу'},
     {name: 'recentBooks', show: true, text: 'Открыть недавние'},
+    {name: 'offlineMode', show: false, text: 'Автономный режим (без интернета)'},
 ];
 
 const fonts = [

BIN
client/theme/fonts/element-icons.ttf


BIN
client/theme/fonts/element-icons.woff


ファイルの差分が大きいため隠しています
+ 0 - 0
client/theme/icon.css


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません