diff --git a/client/components/Reader/LoaderPage/LoaderPage.vue b/client/components/Reader/LoaderPage/LoaderPage.vue
index 160d792c..e810b9e3 100644
--- a/client/components/Reader/LoaderPage/LoaderPage.vue
+++ b/client/components/Reader/LoaderPage/LoaderPage.vue
@@ -22,7 +22,15 @@
Из буфера обмена
@@ -57,6 +65,8 @@ class LoaderPage extends Vue {
mounted() {
this.progress = this.$refs.progress;
+ if (this.mode == 'omnireader')
+ Ya.share2(this.$refs.yaShare2);// eslint-disable-line no-undef
}
activated() {
@@ -64,7 +74,7 @@ class LoaderPage extends Vue {
}
get title() {
- if (this.$store.state.config.mode == 'omnireader')
+ if (this.mode == 'omnireader')
return 'Omni Reader - браузерная онлайн-читалка.';
return 'Универсальная читалка книг и ресурсов интернета.';
@@ -160,7 +170,7 @@ class LoaderPage extends Vue {
flex: 1;
display: flex;
flex-direction: column;
- min-height: 340px;
+ min-height: 400px;
}
.part {
diff --git a/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue b/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue
index b17fcd05..b42d119c 100644
--- a/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue
+++ b/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue
@@ -26,6 +26,7 @@ import Component from 'vue-class-component';
import Window from '../../../share/Window.vue';
import _ from 'lodash';
+import * as utils from '../../../../share/utils';
export default @Component({
components: {
@@ -42,7 +43,7 @@ class PasteTextPage extends Vue {
this.$refs.textArea.focus();
}
- getNonEmptyLine(text, count) {
+ getNonEmptyLine3words(text, count) {
let result = '';
const lines = text.split("\n");
let i = 0;
@@ -56,21 +57,23 @@ class PasteTextPage extends Vue {
}
i++;
}
- return result;
+
+ result = result.trim().split(' ');
+ return result.slice(0, 3).join(' ');
}
calcTitle(event) {
if (this.bookTitle == '') {
let text = event.clipboardData.getData('text');
- this.bookTitle = _.compact([
- this.getNonEmptyLine(text, 1),
- this.getNonEmptyLine(text, 2)
+ this.bookTitle = `Из буфера обмена ${utils.formatDate(new Date(), 'noDate')}: ` + _.compact([
+ this.getNonEmptyLine3words(text, 1),
+ this.getNonEmptyLine3words(text, 2)
]).join(' - ');
}
}
loadBuffer() {
- this.$emit('load-buffer', {buffer: `
${this.bookTitle}${this.$refs.textArea.value}`});
+ this.$emit('load-buffer', {buffer: `
${this.bookTitle}${this.$refs.textArea.value}`});
this.close();
}
diff --git a/client/components/Reader/SettingsPage/SettingsPage.vue b/client/components/Reader/SettingsPage/SettingsPage.vue
index a2d3af99..ec20e6f8 100644
--- a/client/components/Reader/SettingsPage/SettingsPage.vue
+++ b/client/components/Reader/SettingsPage/SettingsPage.vue
@@ -381,6 +381,8 @@
+
+
@@ -539,6 +541,10 @@ export default @Component({
const font = (newValue ? newValue : this.fontName);
this.vertShift = this.fontShifts[font] || 0;
},
+ wallpaper: function(newValue) {
+ if (newValue != '' && this.pageChangeAnimation == 'flip')
+ this.pageChangeAnimation = '';
+ },
},
})
class SettingsPage extends Vue {
diff --git a/client/components/Reader/TextPage/DrawHelper.js b/client/components/Reader/TextPage/DrawHelper.js
index da5e23b1..d6f08c74 100644
--- a/client/components/Reader/TextPage/DrawHelper.js
+++ b/client/components/Reader/TextPage/DrawHelper.js
@@ -317,4 +317,58 @@ export default class DrawHelper {
await animation1Finish(duration);
}
}
+
+ async doPageAnimationRotate(page1, page2, duration, isDown, animation1Finish, animation2Finish) {
+ if (isDown) {
+ page1.style.transform = `rotateY(90deg)`;
+ await sleep(30);
+
+ page2.style.transition = `${duration/2}ms ease-in`;
+ page2.style.transform = `rotateY(-90deg)`;
+
+ await animation2Finish(duration/2);
+
+ page1.style.transition = `${duration/2}ms ease-out`;
+ page1.style.transform = `rotateY(0deg)`;
+ await animation1Finish(duration/2);
+ } else {
+ page1.style.transform = `rotateY(-90deg)`;
+ await sleep(30);
+
+ page2.style.transition = `${duration/2}ms ease-in`;
+ page2.style.transform = `rotateY(90deg)`;
+
+ await animation2Finish(duration/2);
+
+ page1.style.transition = `${duration/2}ms ease-out`;
+ page1.style.transform = `rotateY(0deg)`;
+ await animation1Finish(duration/2);
+ }
+ }
+
+ async doPageAnimationFlip(page1, page2, duration, isDown, animation1Finish, animation2Finish, backgroundColor) {
+ page2.style.background = backgroundColor;
+
+ if (isDown) {
+ page2.style.transformOrigin = '10%';
+ await sleep(30);
+
+ page2.style.transformOrigin = '0%';
+ page2.style.transition = `${duration}ms ease-in-out`;
+ page2.style.transform = `rotateY(-120deg)`;
+ await animation2Finish(duration);
+ } else {
+ page2.style.transformOrigin = '90%';
+ await sleep(30);
+
+ page2.style.transformOrigin = '100%';
+ page2.style.transition = `${duration}ms ease-in-out`;
+ page2.style.transform = `rotateY(120deg)`;
+ await animation2Finish(duration);
+ }
+
+ page2.style.transformOrigin = 'center';
+ page2.style.background = '';
+ }
+
}
\ No newline at end of file
diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue
index 10a73e6b..7f30365c 100644
--- a/client/components/Reader/TextPage/TextPage.vue
+++ b/client/components/Reader/TextPage/TextPage.vue
@@ -23,7 +23,6 @@
oncontextmenu="return false;">
-