ソースを参照

Поправки интерфейса, работа над информацией о файле

Book Pauk 2 年 前
コミット
4cde00b337

+ 17 - 29
client/components/Search/BookView/BookView.vue

@@ -33,18 +33,20 @@
         </div>
 
         <div class="q-ml-sm column">
-            <div v-if="(mode == 'series' || mode == 'title') && bookAuthor" class="row items-center clickable2 text-green-10" @click="selectAuthor">
-                {{ bookAuthor }}
+            <div v-if="(mode == 'series' || mode == 'title') && bookAuthor" class="row">
+                <div class="clickable2 text-green-10" @click="emit('authorClick')">
+                    {{ bookAuthor }}
+                </div>
             </div>
 
             <div class="row items-center">
                 <div v-if="book.serno" class="q-mr-xs">
                     {{ book.serno }}.
                 </div>
-                <div class="clickable2" :class="titleColor" @click="selectTitle">
+                <div class="clickable2" :class="titleColor" @click="emit('titleClick')">
                     {{ book.title }}
                 </div>
-                <div v-if="mode == 'title' && bookSeries" class="q-ml-xs clickable2" @click="selectSeries">
+                <div v-if="mode == 'title' && bookSeries" class="q-ml-xs clickable2" @click="emit('seriesClick')">
                     {{ bookSeries }}
                 </div>
 
@@ -53,15 +55,19 @@
                     {{ bookSize }}, {{ book.ext }}
                 </div>
 
-                <div class="q-ml-sm clickable" @click="download">
+                <div v-if="showInfo" class="row items-center q-ml-sm clickable" @click="emit('info')">
+                    [ . . . ]
+                </div>
+
+                <div class="q-ml-sm clickable" @click="emit('download')">
                     (скачать)
                 </div>
 
-                <div class="q-ml-sm clickable" @click="copyLink">
+                <div class="q-ml-sm clickable" @click="emit('copyLink')">
                     <q-icon name="la la-copy" size="20px" />
                 </div>
 
-                <div v-if="showReadLink" class="q-ml-sm clickable" @click="readBook">
+                <div v-if="showReadLink" class="q-ml-sm clickable" @click="emit('readBook')">
                     (читать)
                 </div>
 
@@ -107,6 +113,7 @@ class BookView {
     };
 
     showRates = true;
+    showInfo = true;
     showGenres = true;
     showDeleted = false;
     showDates = false;
@@ -119,6 +126,7 @@ class BookView {
         const settings = this.settings;
 
         this.showRates = settings.showRates;
+        this.showInfo = settings.showInfo;
         this.showGenres = settings.showGenres;
         this.showDates = settings.showDates;
         this.showDeleted = settings.showDeleted;
@@ -183,28 +191,8 @@ class BookView {
         return utils.sqlDateFormat(this.book.date);
     }
 
-    selectAuthor() {
-        this.$emit('bookEvent', {action: 'authorClick', book: this.book});
-    }
-
-    selectSeries() {
-        this.$emit('bookEvent', {action: 'seriesClick', book: this.book});
-    }
-
-    selectTitle() {
-        this.$emit('bookEvent', {action: 'titleClick', book: this.book});
-    }
-
-    download() {
-        this.$emit('bookEvent', {action: 'download', book: this.book});
-    }
-
-    copyLink() {
-        this.$emit('bookEvent', {action: 'copyLink', book: this.book});
-    }
-
-    readBook() {
-        this.$emit('bookEvent', {action: 'readBook', book: this.book});
+    emit(action) {
+        this.$emit('bookEvent', {action, book: this.book});
     }
 }
 

+ 9 - 3
client/components/Search/Search.vue

@@ -9,7 +9,7 @@
                             Новый поиск
                         </q-tooltip>
                     </a>
-                    
+
                     <q-btn-toggle
                         v-model="selectedList"
                         class="q-ml-sm"
@@ -212,8 +212,8 @@
 
         <Dialog v-model="settingsDialogVisible">
             <template #header>
-                <div class="row items-center" style="font-size: 130%">
-                    <q-icon class="q-mr-sm" name="la la-cog" size="28px"></q-icon>
+                <div class="row items-center" style="font-size: 110%">
+                    <q-icon class="q-mr-sm text-green" name="la la-cog" size="28px"></q-icon>
                     Настройки
                 </div>
             </template>
@@ -232,6 +232,7 @@
 
                 <q-checkbox v-model="showCounts" size="36px" label="Показывать количество" />                
                 <q-checkbox v-model="showRates" size="36px" label="Показывать оценки" />
+                <q-checkbox v-model="showInfo" size="36px" label="Показывать кнопку 'инфо'" />
                 <q-checkbox v-model="showGenres" size="36px" label="Показывать жанры" />
                 <q-checkbox v-model="showDates" size="36px" label="Показывать даты поступления" />
                 <q-checkbox v-model="showDeleted" size="36px" label="Показывать удаленные" />
@@ -330,6 +331,9 @@ const componentOptions = {
         showRates(newValue) {
             this.setSetting('showRates', newValue);
         },
+        showInfo(newValue) {
+            this.setSetting('showInfo', newValue);
+        },
         showGenres(newValue) {
             this.setSetting('showGenres', newValue);
         },
@@ -430,6 +434,7 @@ class Search {
     //settings
     showCounts = true;
     showRates = true;
+    showInfo = true;
     showGenres = true;
     showDates = true;
     showDeleted = false;
@@ -521,6 +526,7 @@ class Search {
         this.expandedSeries = _.cloneDeep(settings.expandedSeries);
         this.showCounts = settings.showCounts;
         this.showRates = settings.showRates;
+        this.showInfo = settings.showInfo;
         this.showGenres = settings.showGenres;
         this.showDates = settings.showDates;
         this.showDeleted = settings.showDeleted;

+ 1 - 1
client/components/Search/SelectGenreDialog/SelectGenreDialog.vue

@@ -2,7 +2,7 @@
     <Dialog ref="dialog" v-model="dialogVisible">
         <template #header>
             <div class="row items-center">
-                <div style="font-size: 130%">
+                <div style="font-size: 110%">
                     Выбрать жанры
                 </div>
             </div>

+ 1 - 1
client/components/Search/SelectLangDialog/SelectLangDialog.vue

@@ -2,7 +2,7 @@
     <Dialog ref="dialog" v-model="dialogVisible">
         <template #header>
             <div class="row items-center">
-                <div style="font-size: 130%">
+                <div style="font-size: 110%">
                     Выбрать языки
                 </div>
             </div>

+ 1 - 1
client/components/Search/SelectLibRateDialog/SelectLibRateDialog.vue

@@ -2,7 +2,7 @@
     <Dialog ref="dialog" v-model="dialogVisible">
         <template #header>
             <div class="row items-center">
-                <div style="font-size: 130%">
+                <div style="font-size: 110%">
                     Выбрать оценки
                 </div>
             </div>

+ 1 - 0
client/store/root.js

@@ -9,6 +9,7 @@ const state = {
         expandedSeries: [],
         showCounts: true,
         showRates: true,
+        showInfo: true,
         showGenres: true,
         showDates: false,
         showDeleted: false,