From 2de8d7515efc9753fb71dfb2d31502caf1214fff Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Mon, 21 Dec 2020 17:48:49 +0700 Subject: [PATCH 01/39] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=BB=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D0=BA=D1=80=D0=B5=D1=81=D1=82=D0=B8=D0=BA?= =?UTF-8?q?=20=D0=B2=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D1=83=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reader/RecentBooksPage/RecentBooksPage.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue index 338c837c..ceebe551 100644 --- a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue +++ b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue @@ -27,8 +27,11 @@ placeholder="Найти" v-model="search" @click.stop - /> - + > + + @@ -106,7 +109,7 @@ export default @Component({ }) class RecentBooksPage extends Vue { loading = false; - search = null; + search = ''; tableData = []; columns = []; pagination = {}; @@ -244,6 +247,11 @@ class RecentBooksPage extends Vue { this.updating = false; } + resetSearch() { + this.search = ''; + this.$refs.input.focus(); + } + wordEnding(num) { const endings = ['', 'а', 'и', 'и', 'и', '', '', '', '', '']; const deci = num % 100; From 54e0dd04780256108bf7cebca980196ac6afc373 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Mon, 21 Dec 2020 18:08:35 +0700 Subject: [PATCH 02/39] =?UTF-8?q?=D0=92=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=BD=D0=B5=D0=B4=D0=B0=D0=B2=D0=BD=D0=B8=D1=85=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D1=81=D0=BA=D0=B0=20=D0=BF=D1=80=D0=BE=D1=87?= =?UTF-8?q?=D0=B8=D1=82=D0=B0=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reader/RecentBooksPage/RecentBooksPage.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue index ceebe551..6eb0b65a 100644 --- a/client/components/Reader/RecentBooksPage/RecentBooksPage.vue +++ b/client/components/Reader/RecentBooksPage/RecentBooksPage.vue @@ -56,6 +56,7 @@
{{ props.row.desc.author }}
{{ props.row.desc.title }}
+
@@ -203,11 +204,13 @@ class RecentBooksPage extends Vue { d.setTime(book.touchTime); const t = utils.formatDate(d).split(' '); + let readPart = 0; let perc = ''; let textLen = ''; const p = (book.bookPosSeen ? book.bookPosSeen : (book.bookPos ? book.bookPos : 0)); if (book.textLength) { - perc = ` [${((p/book.textLength)*100).toFixed(2)}%]`; + readPart = p/book.textLength; + perc = ` [${(readPart*100).toFixed(2)}%]`; textLen = ` ${Math.round(book.textLength/1000)}k`; } @@ -226,6 +229,7 @@ class RecentBooksPage extends Vue { author, title: `${title}${perc}${textLen}`, }, + readPart, descString: `${author}${title}${perc}${textLen}`,//для сортировки url: book.url, path: book.path, @@ -354,6 +358,10 @@ class RecentBooksPage extends Vue { white-space: normal; } +.read-bar { + height: 3px; + background-color: #aaaaaa; +} - - diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js index ec81a923..983a5a2c 100644 --- a/client/store/modules/reader.js +++ b/client/store/modules/reader.js @@ -228,11 +228,12 @@ const settingDefaults = { dualPageMode: false, dualIndentLR: 10,// px, отступ слева и справа внутри страницы в двухстраничном режиме - dualDivWidth: 4,// px, ширина разделителя - dualDivHeight: 96,// процент, высота разделителя - dualDivColorAlpha: 1,// прозрачность разделителя + dualDivWidth: 2,// px, ширина разделителя + dualDivHeight: 100,// процент, высота разделителя + dualDivColorAlpha: 0.7,// прозрачность разделителя dualDivStrokeFill: 1,// px, заполнение пунктира dualDivStrokeGap: 1,// px, промежуток пунктира + dualDivShadowWidth: 0,// px, ширина тени showStatusBar: true, statusBarTop: false,// top, bottom From dacbd05911dfdbf491f78604dd06d88836ce1f4c Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 9 Feb 2021 17:47:10 +0700 Subject: [PATCH 26/39] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B4=20=D0=B4=D0=B2=D1=83=D1=85=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=87=D0=BD=D1=8B=D0=BC=20=D1=80=D0=B5=D0=B6?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reader/SettingsPage/SettingsPage.vue | 14 +++++-- .../components/Reader/TextPage/DrawHelper.js | 13 +------ .../components/Reader/TextPage/TextPage.vue | 38 ++++++++++++++++--- 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/client/components/Reader/SettingsPage/SettingsPage.vue b/client/components/Reader/SettingsPage/SettingsPage.vue index f6882b5e..ab68f9b9 100644 --- a/client/components/Reader/SettingsPage/SettingsPage.vue +++ b/client/components/Reader/SettingsPage/SettingsPage.vue @@ -130,6 +130,10 @@ export default @Component({ if (newValue != '' && this.pageChangeAnimation == 'flip') this.pageChangeAnimation = ''; }, + dualPageMode(newValue) { + if (newValue && this.pageChangeAnimation == 'flip' || this.pageChangeAnimation == 'rightShift') + this.pageChangeAnimation = ''; + }, textColor: function(newValue) { this.textColorFiltered = newValue; }, @@ -282,13 +286,15 @@ class SettingsPage extends Vue { let result = [ {label: 'Нет', value: ''}, {label: 'Вверх-вниз', value: 'downShift'}, - {label: 'Вправо-влево', value: 'rightShift'}, + (!this.dualPageMode ? {label: 'Вправо-влево', value: 'rightShift'} : null), {label: 'Протаивание', value: 'thaw'}, {label: 'Мерцание', value: 'blink'}, {label: 'Вращение', value: 'rotate'}, - ]; - if (this.wallpaper == '') - result.push({label: 'Листание', value: 'flip'}); + (this.wallpaper == '' && !this.dualPageMode ? {label: 'Листание', value: 'flip'} : null), + ]; + + result = result.filter(v => v); + return result; } diff --git a/client/components/Reader/TextPage/DrawHelper.js b/client/components/Reader/TextPage/DrawHelper.js index 8bd57214..66ad0efa 100644 --- a/client/components/Reader/TextPage/DrawHelper.js +++ b/client/components/Reader/TextPage/DrawHelper.js @@ -180,16 +180,7 @@ export default class DrawHelper { out += ''; //разделитель - out += `
` + - `
` + - `
` + - `
` + - `
` + - `
`; + out += `
`; //правая страница out += `
`; @@ -250,7 +241,7 @@ export default class DrawHelper { out += this.fillTextShift(this.fittingString(title, this.realWidth/2 - fontSize - 3, font), fontSize, 2, font, fontSize); - out += this.drawPercentBar(this.realWidth/2, 2, this.realWidth/2 - timeW - 2*fontSize, statusBarHeight, font, fontSize, bookPos, textLength, imageNum, imageLength); + out += this.drawPercentBar(this.realWidth/2 + fontSize, 2, this.realWidth/2 - timeW - 3*fontSize, statusBarHeight, font, fontSize, bookPos, textLength, imageNum, imageLength); out += '
'; return out; diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index 60c3da24..46c3f7d8 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -1,8 +1,8 @@ - - Обои: @@ -48,11 +46,33 @@ - -
- +
+ + +
+
+
Обои
+
+ + + + +
diff --git a/client/quasar.js b/client/quasar.js index 52fa825b..38f6decc 100644 --- a/client/quasar.js +++ b/client/quasar.js @@ -21,7 +21,8 @@ import {QSlider} from 'quasar/src/components/slider'; import {QTabs, QTab} from 'quasar/src/components/tabs'; //import {QTabPanels, QTabPanel} from 'quasar/src/components/tab-panels'; import {QSeparator} from 'quasar/src/components/separator'; -//import {QList, QItem, QItemSection, QItemLabel} from 'quasar/src/components/item'; +//import {QList} from 'quasar/src/components/item'; +import {QItem, QItemSection, QItemLabel} from 'quasar/src/components/item'; import {QTooltip} from 'quasar/src/components/tooltip'; import {QSpinner} from 'quasar/src/components/spinner'; import {QTable, QTh, QTr, QTd} from 'quasar/src/components/table'; @@ -49,7 +50,8 @@ const components = { QTabs, QTab, //QTabPanels, QTabPanel, QSeparator, - //QList, QItem, QItemSection, QItemLabel, + //QList, + QItem, QItemSection, QItemLabel, QTooltip, QSpinner, QTable, QTh, QTr, QTd, From 87a068899a090da28f2af7fa189e28058f8b1d1c Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 9 Feb 2021 22:29:20 +0700 Subject: [PATCH 36/39] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8=20wallpaper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Reader/TextPage/TextPage.css | 87 +++++++++---------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/client/components/Reader/TextPage/TextPage.css b/client/components/Reader/TextPage/TextPage.css index c6461feb..743cb2b9 100644 --- a/client/components/Reader/TextPage/TextPage.css +++ b/client/components/Reader/TextPage/TextPage.css @@ -1,47 +1,3 @@ -.paper1 { - background: url("images/paper1.jpg") center; - background-size: cover; -} - -.paper2 { - background: url("images/paper2.jpg") center; - background-size: cover; -} - -.paper3 { - background: url("images/paper3.jpg") center; - background-size: cover; -} - -.paper4 { - background: url("images/paper4.jpg") center; - background-size: cover; -} - -.paper5 { - background: url("images/paper5.jpg") center; - background-size: cover; -} - -.paper6 { - background: url("images/paper6.jpg") center; - background-size: cover; -} - -.paper7 { - background: url("images/paper7.jpg") center; - background-size: cover; -} - -.paper8 { - background: url("images/paper8.jpg") center; - background-size: cover; -} - -.paper9 { - background: url("images/paper9.jpg"); -} - @keyframes page1-animation-thaw { 0% { opacity: 0; } 100% { opacity: 1; } @@ -52,3 +8,46 @@ 100% { opacity: 0; } } +.paper1 { + background: url("images/paper1.jpg") center; + background-size: 100% 100%; +} + +.paper2 { + background: url("images/paper2.jpg") center; + background-size: 100% 100%; +} + +.paper3 { + background: url("images/paper3.jpg") center; + background-size: 100% 100%; +} + +.paper4 { + background: url("images/paper4.jpg") center; + background-size: 100% 100%; +} + +.paper5 { + background: url("images/paper5.jpg") center; + background-size: 100% 100%; +} + +.paper6 { + background: url("images/paper6.jpg") center; + background-size: 100% 100%; +} + +.paper7 { + background: url("images/paper7.jpg") center; + background-size: 100% 100%; +} + +.paper8 { + background: url("images/paper8.jpg") center; + background-size: 100% 100%; +} + +.paper9 { + background: url("images/paper9.jpg"); +} From ed901fc1818304d4d895d8ffef3848062084ca76 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Wed, 10 Feb 2021 02:55:47 +0700 Subject: [PATCH 37/39] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D0=BA=D0=B8=D0=B5=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BE=D0=B8,=20=D0=BF=D0=BE=D0=BA=D0=B0=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reader/SettingsPage/SettingsPage.vue | 74 +++++++++++++++++- .../SettingsPage/include/ViewTab/Color.inc | 13 ++- .../components/Reader/TextPage/TextPage.css | 40 ++++++++++ .../components/Reader/TextPage/TextPage.vue | 25 ++++++ .../Reader/TextPage/images/paper10.png | Bin 0 -> 17609 bytes .../Reader/TextPage/images/paper11.png | Bin 0 -> 15189 bytes .../Reader/TextPage/images/paper12.png | Bin 0 -> 5469 bytes .../Reader/TextPage/images/paper13.png | Bin 0 -> 13521 bytes .../Reader/TextPage/images/paper14.png | Bin 0 -> 15398 bytes .../Reader/TextPage/images/paper15.png | Bin 0 -> 5636 bytes .../Reader/TextPage/images/paper16.png | Bin 0 -> 12788 bytes .../Reader/TextPage/images/paper17.png | Bin 0 -> 5468 bytes .../Reader/share/wallpaperStorage.js | 27 +++++++ client/components/Reader/versionHistory.js | 2 +- client/share/dynamicCss.js | 22 ++++++ client/store/modules/reader.js | 8 +- 16 files changed, 204 insertions(+), 7 deletions(-) create mode 100644 client/components/Reader/TextPage/images/paper10.png create mode 100644 client/components/Reader/TextPage/images/paper11.png create mode 100644 client/components/Reader/TextPage/images/paper12.png create mode 100644 client/components/Reader/TextPage/images/paper13.png create mode 100644 client/components/Reader/TextPage/images/paper14.png create mode 100644 client/components/Reader/TextPage/images/paper15.png create mode 100644 client/components/Reader/TextPage/images/paper16.png create mode 100644 client/components/Reader/TextPage/images/paper17.png create mode 100644 client/components/Reader/share/wallpaperStorage.js create mode 100644 client/share/dynamicCss.js diff --git a/client/components/Reader/SettingsPage/SettingsPage.vue b/client/components/Reader/SettingsPage/SettingsPage.vue index 21ad6e8c..b17bdc50 100644 --- a/client/components/Reader/SettingsPage/SettingsPage.vue +++ b/client/components/Reader/SettingsPage/SettingsPage.vue @@ -82,6 +82,7 @@ import * as utils from '../../../share/utils'; import Window from '../../share/Window.vue'; import NumInput from '../../share/NumInput.vue'; import UserHotKeys from './UserHotKeys/UserHotKeys.vue'; +import wallpaperStorage from '../share/wallpaperStorage'; import rstore from '../../../store/modules/reader'; import defPalette from './defPalette'; @@ -277,9 +278,15 @@ class SettingsPage extends Vue { get wallpaperOptions() { let result = [{label: 'Нет', value: ''}]; - for (let i = 1; i < 10; i++) { + + for (const wp of this.userWallpapers) { + result.push({label: wp.label, value: wp.cssClass}); + } + + for (let i = 1; i <= 17; i++) { result.push({label: i, value: `paper${i}`}); } + return result; } @@ -546,6 +553,71 @@ class SettingsPage extends Vue { } + loadWallpaperFileClick() { + this.$refs.file.click(); + } + + loadWallpaperFile() { + const file = this.$refs.file.files[0]; + if (file.size > 10*1024*1024) { + this.$root.stdDialog.alert('Файл обоев не должен превышать в размере 10Mb', 'Ошибка'); + return; + } + + if (file.type != 'image/png' && file.type != 'image/jpeg') { + this.$root.stdDialog.alert('Файл обоев должен иметь тип PNG или JPEG', 'Ошибка'); + return; + } + + if (this.userWallpapers.length >= 100) { + this.$root.stdDialog.alert('Превышено максимальное количество пользовательских обоев.', 'Ошибка'); + return; + } + + this.$refs.file.value = ''; + if (file) { + const reader = new FileReader(); + + reader.onload = (e) => { + const newUserWallpapers = _.cloneDeep(this.userWallpapers); + let n = 0; + for (const wp of newUserWallpapers) { + const newN = parseInt(wp.label.replace(/\D/g, ''), 10); + if (newN > n) + n = newN; + } + n++; + + const cssClass = `user-paper${n}`; + newUserWallpapers.push({label: `#${n}`, cssClass}); + (async() => { + await wallpaperStorage.setData(cssClass, e.target.result); + + this.userWallpapers = newUserWallpapers; + this.wallpaper = cssClass; + })(); + } + + reader.readAsDataURL(file); + } + } + + async delWallpaper() { + if (this.wallpaper.indexOf('user-paper') == 0) { + const newUserWallpapers = []; + for (const wp of this.userWallpapers) { + if (wp.cssClass != this.wallpaper) { + newUserWallpapers.push(wp); + } + } + + await wallpaperStorage.removeData(this.wallpaper); + + this.userWallpapers = newUserWallpapers; + this.wallpaper = ''; + } + } + keyHook(event) { if (!this.$root.stdDialog.active && event.type == 'keydown' && event.key == 'Escape') { this.close(); diff --git a/client/components/Reader/SettingsPage/include/ViewTab/Color.inc b/client/components/Reader/SettingsPage/include/ViewTab/Color.inc index b4093e03..2e25d634 100644 --- a/client/components/Reader/SettingsPage/include/ViewTab/Color.inc +++ b/client/components/Reader/SettingsPage/include/ViewTab/Color.inc @@ -34,7 +34,6 @@ v-model="bgColorFiltered" :rules="['hexColor']" style="max-width: 150px" - :disable="wallpaper != ''" > + +
+ + Добавить файл обоев + + + Удалить выбранные обои +
+ + diff --git a/client/components/Reader/TextPage/TextPage.css b/client/components/Reader/TextPage/TextPage.css index 743cb2b9..4ff2304b 100644 --- a/client/components/Reader/TextPage/TextPage.css +++ b/client/components/Reader/TextPage/TextPage.css @@ -51,3 +51,43 @@ .paper9 { background: url("images/paper9.jpg"); } + +.paper10 { + background: url("images/paper10.png") center; + background-size: 100% 100%; +} + +.paper11 { + background: url("images/paper11.png") center; + background-size: 100% 100%; +} + +.paper12 { + background: url("images/paper12.png") center; + background-size: 100% 100%; +} + +.paper13 { + background: url("images/paper13.png") center; + background-size: 100% 100%; +} + +.paper14 { + background: url("images/paper14.png") center; + background-size: 100% 100%; +} + +.paper15 { + background: url("images/paper15.png") center; + background-size: 100% 100%; +} + +.paper16 { + background: url("images/paper16.png") center; + background-size: 100% 100%; +} + +.paper17 { + background: url("images/paper17.png") center; + background-size: 100% 100%; +} diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index c1c0d0c7..a3b0877c 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -43,7 +43,10 @@ import _ from 'lodash'; import './TextPage.css'; import * as utils from '../../../share/utils'; +import dynamicCss from '../../../share/dynamicCss'; + import bookManager from '../share/bookManager'; +import wallpaperStorage from '../share/wallpaperStorage'; import DrawHelper from './DrawHelper'; import rstore from '../../../store/modules/reader'; import {clickMap} from '../share/clickMap'; @@ -249,6 +252,28 @@ class TextPage extends Vue { //statusBar this.statusBarClickable = this.drawHelper.statusBarClickable(this.statusBarTop, this.statusBarHeight); + //wallpaper css, асинхронно + (async() => { + const wallpaperDataLength = await wallpaperStorage.getLength(); + if (wallpaperDataLength !== this.wallpaperDataLength) {//оптимизация + this.wallpaperDataLength = wallpaperDataLength; + + let newCss = ''; + for (const wp of this.userWallpapers) { + const data = await wallpaperStorage.getData(wp.cssClass); + + if (!data) { + //здесь будем восстанавливать данные с сервера + } + + if (data) { + newCss += `.${wp.cssClass} {background: url(${data}) center; background-size: 100% 100%;}`; + } + } + dynamicCss.replace('wallpapers', newCss); + } + })(); + //parsed if (this.parsed) { let wideLine = wideLetter; diff --git a/client/components/Reader/TextPage/images/paper10.png b/client/components/Reader/TextPage/images/paper10.png new file mode 100644 index 0000000000000000000000000000000000000000..34727bd1a57a7ef38fbe1d26fcb12f48d82544f0 GIT binary patch literal 17609 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 z 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 BDVzWR literal 0 HcmV?d00001 diff --git a/client/components/Reader/TextPage/images/paper11.png b/client/components/Reader/TextPage/images/paper11.png new file mode 100644 index 0000000000000000000000000000000000000000..cb543e6f87d003e05dddbfc91b497511e444b51f GIT binary patch literal 15189 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 literal 0 HcmV?d00001 diff --git a/client/components/Reader/TextPage/images/paper12.png b/client/components/Reader/TextPage/images/paper12.png new file mode 100644 index 0000000000000000000000000000000000000000..2890c8b4fe2634a494e86bfc71463635fa40149f GIT binary patch literal 5469 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 T&TO3g-PB>@R@)rwy^;S11y;!6 literal 0 HcmV?d00001 diff --git a/client/components/Reader/TextPage/images/paper13.png b/client/components/Reader/TextPage/images/paper13.png new file mode 100644 index 0000000000000000000000000000000000000000..a64c2b6603eaf451a293971810da0d16dc41d17e GIT binary patch literal 13521 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 literal 0 HcmV?d00001 diff --git a/client/components/Reader/TextPage/images/paper15.png b/client/components/Reader/TextPage/images/paper15.png new file mode 100644 index 0000000000000000000000000000000000000000..3766d987e7de2c6c0f9b70de5ee6b9f57d0b14a0 GIT binary patch literal 5636 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 Kc9xY}^#1_I_X+&~ literal 0 HcmV?d00001 diff --git a/client/components/Reader/TextPage/images/paper16.png b/client/components/Reader/TextPage/images/paper16.png new file mode 100644 index 0000000000000000000000000000000000000000..7d34aa92496a257bc34aa8f049d8a13b2509ca2c GIT binary patch literal 12788 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 H^GE*&K6jAs literal 0 HcmV?d00001 diff --git a/client/components/Reader/TextPage/images/paper17.png b/client/components/Reader/TextPage/images/paper17.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca0f351da155f77898b7c5ea726600dfd66fd66 GIT binary patch literal 5468 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
  • добавлен двухстраничный режим
  • в настройки добавлены все кириллические веб-шрифты от google
  • -
  • в настройки добавлены новые фоновые изображения и орнамент для страницы
  • +
  • в настройки добавлена возможность загрузки пользовательских обоев (пока что без синхронизации)
  • немного улучшен парсинг fb2
  • ` diff --git a/client/share/dynamicCss.js b/client/share/dynamicCss.js new file mode 100644 index 00000000..494effa6 --- /dev/null +++ b/client/share/dynamicCss.js @@ -0,0 +1,22 @@ +class DynamicCss { + constructor() { + this.cssNodes = {}; + } + + replace(name, cssText) { + const style = document.createElement('style'); + style.type = 'text/css'; + style.innerHTML = cssText; + + const parent = document.getElementsByTagName('head')[0]; + + if (this.cssNodes[name]) { + parent.removeChild(this.cssNodes[name]); + delete this.cssNodes[name]; + } + + this.cssNodes[name] = parent.appendChild(style); + } +} + +export default new DynamicCss(); \ No newline at end of file diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js index 62ad455d..f28b3403 100644 --- a/client/store/modules/reader.js +++ b/client/store/modules/reader.js @@ -175,6 +175,7 @@ const settingDefaults = { fontShifts: {}, showToolButton: {}, userHotKeys: {}, + userWallpapers: [], }; for (const font of fonts) @@ -186,12 +187,13 @@ for (const button of toolButtons) for (const hotKey of hotKeys) settingDefaults.userHotKeys[hotKey.name] = hotKey.codes; -const excludeDiffHotKeys = []; +const diffExclude = []; for (const hotKey of hotKeys) - excludeDiffHotKeys.push(`userHotKeys/${hotKey.name}`); + diffExclude.push(`userHotKeys/${hotKey.name}`); +diffExclude.push('userWallpapers'); function addDefaultsToSettings(settings) { - const diff = utils.getObjDiff(settings, settingDefaults, {exclude: excludeDiffHotKeys}); + const diff = utils.getObjDiff(settings, settingDefaults, {exclude: diffExclude}); if (!utils.isEmptyObjDiffDeep(diff, {isApplyChange: false})) { return utils.applyObjDiff(settings, diff, {isApplyChange: false}); } From f142e5812d29576d4fc31abf000cb1f0887cda16 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Wed, 10 Feb 2021 03:18:47 +0700 Subject: [PATCH 38/39] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8F=20"=D0=9D?= =?UTF-8?q?=D0=B5=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=BA=D1=83=20=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=83=D1=81=D0=B0=20=D0=B2=20=D0=BE=D0=B1=D0=BE=D0=B8"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reader/SettingsPage/include/ViewTab/Color.inc | 8 ++++++++ client/components/Reader/TextPage/TextPage.vue | 14 ++++++++++++-- client/store/modules/reader.js | 1 + 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/client/components/Reader/SettingsPage/include/ViewTab/Color.inc b/client/components/Reader/SettingsPage/include/ViewTab/Color.inc index 2e25d634..92a2cb02 100644 --- a/client/components/Reader/SettingsPage/include/ViewTab/Color.inc +++ b/client/components/Reader/SettingsPage/include/ViewTab/Color.inc @@ -84,4 +84,12 @@ +
    +
    +
    +
    + +
    +
    + diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index a3b0877c..0d7e6156 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -495,8 +495,18 @@ class TextPage extends Vue { } setBackground() { - this.background = `
    `; + if (this.wallpaperIgnoreStatusBar) { + this.background = `
    ` + + `
    ` + + `
    ` + + `
    `; + } else { + this.background = `
    `; + } + } async onResize() { diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js index f28b3403..f143f410 100644 --- a/client/store/modules/reader.js +++ b/client/store/modules/reader.js @@ -107,6 +107,7 @@ const settingDefaults = { textColor: '#000000', backgroundColor: '#ebe2c9', wallpaper: '', + wallpaperIgnoreStatusBar: false, fontStyle: '',// 'italic' fontWeight: '',// 'bold' fontSize: 20,// px From 2af77f22d6f0aca8fb3e8ec5e4a9820e196d97e7 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Wed, 10 Feb 2021 03:22:20 +0700 Subject: [PATCH 39/39] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/versionHistory.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/components/Reader/versionHistory.js b/client/components/Reader/versionHistory.js index 8d356eef..566e8edc 100644 --- a/client/components/Reader/versionHistory.js +++ b/client/components/Reader/versionHistory.js @@ -1,13 +1,13 @@ export const versionHistory = [ { - showUntil: '2021-02-01', - header: '0.10.0 (2021-02-01)', + showUntil: '2021-02-16', + header: '0.10.0 (2021-02-09)', content: `
    • добавлен двухстраничный режим
    • в настройки добавлены все кириллические веб-шрифты от google
    • -
    • в настройки добавлена возможность загрузки пользовательских обоев (пока что без синхронизации)
    • +
    • в настройки добавлена возможность загрузки пользовательских обоев (пока без синхронизации)
    • немного улучшен парсинг fb2
    `