diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue
index f73ad63c..1fac4258 100644
--- a/client/components/Reader/Reader.vue
+++ b/client/components/Reader/Reader.vue
@@ -17,12 +17,12 @@
-
-
-
+
+
+
@@ -59,6 +59,7 @@
+
@@ -74,6 +75,7 @@ import TextPage from './TextPage/TextPage.vue';
import ProgressPage from './ProgressPage/ProgressPage.vue';
import SetPositionPage from './SetPositionPage/SetPositionPage.vue';
+import SearchPage from './SearchPage/SearchPage.vue';
import HistoryPage from './HistoryPage/HistoryPage.vue';
import SettingsPage from './SettingsPage/SettingsPage.vue';
@@ -88,6 +90,7 @@ export default @Component({
ProgressPage,
SetPositionPage,
+ SearchPage,
HistoryPage,
SettingsPage,
},
@@ -124,8 +127,8 @@ class Reader extends Vue {
progressActive = false;
fullScreenActive = false;
- setPositionActive = false;
scrollingActive = false;
+ setPositionActive = false;
searchActive = false;
copyTextActive = false;
historyActive = false;
@@ -249,6 +252,7 @@ class Reader extends Vue {
closeAllTextPages() {
this.setPositionActive = false;
+ this.searchActive = false;
this.historyActive = false;
this.settingsActive = false;
this.stopScrolling();
@@ -293,6 +297,20 @@ class Reader extends Vue {
}
}
+ searchToggle() {
+ this.searchActive = !this.searchActive;
+ if (this.searchActive && this.activePage == 'TextPage' && this.lastOpenedBook) {
+ this.closeAllTextPages();
+ this.searchActive = true;
+
+ this.$nextTick(() => {
+ //this.$refs.searchPage
+ });
+ } else {
+ this.searchActive = false;
+ }
+ }
+
historyToggle() {
this.historyActive = !this.historyActive;
if (this.historyActive) {
@@ -325,7 +343,10 @@ class Reader extends Vue {
this.setPositionToggle();
break;
case 'scrolling':
- this.scrollingToggle()
+ this.scrollingToggle();
+ break;
+ case 'search':
+ this.searchToggle();
break;
case 'history':
this.historyToggle();
@@ -547,6 +568,9 @@ class Reader extends Vue {
if (!handled && this.setPositionActive)
handled = this.$refs.setPositionPage.keyHook(event);
+ if (!handled && this.searchActive)
+ handled = this.$refs.searchPage.keyHook(event);
+
if (!handled && this.$refs.page && this.$refs.page.keyHook)
handled = this.$refs.page.keyHook(event);
@@ -559,6 +583,13 @@ class Reader extends Vue {
case 'KeyP':
this.setPositionToggle();
break;
+ case 'KeyF':
+ if (event.ctrlKey) {
+ this.searchToggle();
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ break;
case 'KeyZ':
this.scrollingToggle();
break;
diff --git a/client/components/Reader/SearchPage/SearchPage.vue b/client/components/Reader/SearchPage/SearchPage.vue
new file mode 100644
index 00000000..11d5747f
--- /dev/null
+++ b/client/components/Reader/SearchPage/SearchPage.vue
@@ -0,0 +1,67 @@
+
+
+
+
+
+ {{ header }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file