diff --git a/client/components/Search/Search.vue b/client/components/Search/Search.vue
index 4c2f0d0..e8f8cf7 100644
--- a/client/components/Search/Search.vue
+++ b/client/components/Search/Search.vue
@@ -76,7 +76,7 @@
@@ -126,15 +126,16 @@
-
+
-
- {{ search.librate }}
+
+ {{ librateNames }}
@@ -202,6 +203,7 @@
+
@@ -216,6 +218,7 @@ import TitleList from './TitleList/TitleList.vue';
import PageScroller from './PageScroller/PageScroller.vue';
import SelectGenreDialog from './SelectGenreDialog/SelectGenreDialog.vue';
import SelectLangDialog from './SelectLangDialog/SelectLangDialog.vue';
+import SelectLibRateDialog from './SelectLibRateDialog/SelectLibRateDialog.vue';
import authorBooksStorage from './authorBooksStorage';
import DivBtn from '../share/DivBtn.vue';
@@ -240,6 +243,7 @@ const componentOptions = {
PageScroller,
SelectGenreDialog,
SelectLangDialog,
+ SelectLibRateDialog,
Dialog,
DivBtn
},
@@ -337,6 +341,7 @@ class Search {
settingsDialogVisible = false;
selectGenreDialogVisible = false;
selectLangDialogVisible = false;
+ selectLibRateDialogVisible = false;
pageCount = 1;
@@ -494,6 +499,17 @@ class Search {
return result.join(', ');
}
+ get librateNames() {
+ let result = [];
+ const rates = this.search.librate.split(',');
+
+ for (const r of rates) {
+ result.push(r == '0' ? 'Без оценки' : r);
+ }
+
+ return result.join(', ');
+ }
+
get listOptions() {
const result = [];
for (const [route, rec] of Object.entries(route2component))
@@ -704,6 +720,11 @@ class Search {
this.hideTooltip();
this.selectLangDialogVisible = true;
}
+
+ selectLibRate() {
+ this.hideTooltip();
+ this.selectLibRateDialogVisible = true;
+ }
onScroll() {
if (this.ignoreScrolling)
diff --git a/client/components/Search/SelectLibRateDialog/SelectLibRateDialog.vue b/client/components/Search/SelectLibRateDialog/SelectLibRateDialog.vue
new file mode 100644
index 0000000..ca9bed0
--- /dev/null
+++ b/client/components/Search/SelectLibRateDialog/SelectLibRateDialog.vue
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
\ No newline at end of file