Add:PDF EReader #420

This commit is contained in:
advplyr
2022-12-06 17:07:27 -06:00
parent 592ea7c533
commit 75666e523f
5 changed files with 320 additions and 4 deletions
+21 -3
View File
@@ -14,7 +14,10 @@ export default {
data() {
return {
touchstartX: 0,
touchendX: 0
touchstartY: 0,
touchendX: 0,
touchendY: 0,
touchstartTime: 0
}
},
watch: {
@@ -53,6 +56,7 @@ export default {
if (this.ebookType === 'epub') return 'readers-epub-reader'
else if (this.ebookType === 'mobi') return 'readers-mobi-reader'
else if (this.ebookType === 'comic') return 'readers-comic-reader'
else if (this.ebookType === 'pdf') return 'readers-pdf-reader'
return null
},
folderId() {
@@ -100,7 +104,8 @@ export default {
filepath = this.$encodeUriPath(`${itemRelPath}/${relPath}`)
}
return `/ebook/${this.libraryId}/${this.folderId}/${filepath}`
const serverAddress = this.$store.getters['user/getServerAddress']
return `${serverAddress}/ebook/${this.libraryId}/${this.folderId}/${filepath}`
},
playerLibraryItemId() {
return this.$store.state.playerLibraryItemId
@@ -118,9 +123,19 @@ export default {
}
},
handleGesture() {
// Touch must be less than 1s. Must be > 100px drag and X distance > Y distance
const touchTimeMs = Date.now() - this.touchstartTime
if (touchTimeMs >= 1000) {
console.log('Touch too long', touchTimeMs)
return
}
const touchDistanceX = Math.abs(this.touchendX - this.touchstartX)
const touchDistanceY = Math.abs(this.touchendY - this.touchstartY)
if (touchDistanceX < 100 || touchDistanceY > touchDistanceX) return
if (this.touchendX < this.touchstartX) {
console.log('swiped left')
this.next()
}
if (this.touchendX > this.touchstartX) {
@@ -130,9 +145,12 @@ export default {
},
touchstart(e) {
this.touchstartX = e.changedTouches[0].screenX
this.touchstartY = e.changedTouches[0].screenY
this.touchstartTime = Date.now()
},
touchend(e) {
this.touchendX = e.changedTouches[0].screenX
this.touchendY = e.changedTouches[0].screenY
this.handleGesture()
},
registerListeners() {