Files
fnx_web/res/include/script/file_viewer/viewer_scripts/VideoViewer.js

76 lines
2.6 KiB
JavaScript
Raw Normal View History

2020-01-28 12:51:21 +01:00
function VideoViewer(viewer, file, next) {
2020-02-04 19:37:46 +01:00
this.viewer = viewer
2021-03-11 18:52:55 +01:00
this.file = file
this.next = next
}
2020-01-20 19:55:51 +01:00
VideoViewer.prototype.render = function (parent) {
if (this.file.allow_video_player) {
let vidContainer = document.createElement("div")
vidContainer.classList = "image-container"
2020-01-20 19:55:51 +01:00
let vidElement = document.createElement("video")
vidElement.controls = "controls"
vidElement.playsInline = "playsInline"
vidElement.classList = "center drop_shadow"
vidElement.addEventListener("ended", () => { this.next() }, false)
if (!embeddedViewer) {
vidElement.autoplay = "autoplay"
}
2020-01-20 19:55:51 +01:00
let videoSource = document.createElement("source")
videoSource.src = this.file.get_href
videoSource.type = this.file.mime_type
2020-01-20 19:55:51 +01:00
vidElement.appendChild(videoSource)
vidContainer.appendChild(vidElement)
parent.appendChild(vidContainer)
2020-01-20 19:55:51 +01:00
// Possible fix for ios 15 video bug?
2021-10-19 12:07:04 +02:00
videoSource.src = this.file.get_href
videoSource.type = this.file.mime_type
} else {
let container = document.createElement("div")
container.classList = "image-container"
container.appendChild(document.createElement("br"))
let title = document.createElement("h1")
title.innerText = "This is a video file on pixeldrain"
container.appendChild(title)
let icon = document.createElement("img")
icon.style.display = "inline-block"
icon.style.verticalAlign = "middle"
icon.src = this.file.icon_href
container.appendChild(icon)
let fileDetails = document.createElement("div")
fileDetails.style.display = "inline-block"
fileDetails.style.textAlign = "left"
fileDetails.style.paddingLeft = "8px"
fileDetails.style.verticalAlign = "middle"
fileDetails.style.maxWidth = "600px"
fileDetails.appendChild(document.createTextNode(
`The online video player on pixeldrain has been disabled due to
repeated abuse. You can still watch videos online by upgrading to
Pro. Or download the video and watch it locally on your computer.`,
))
fileDetails.appendChild(document.createElement("br"))
let upgradeBtn = document.createElement("a")
upgradeBtn.innerHTML = `<i class="icon">upgrade</i> Upgrade to Pro`
upgradeBtn.classList = "button button_highlight"
upgradeBtn.href = `{{noescape "https://www.patreon.com/join/pixeldrain/checkout?rid=5291427&cadence=12"}}`
fileDetails.appendChild(upgradeBtn)
let downloadBtn = document.createElement("button")
downloadBtn.innerHTML = `<i class="icon">save</i> Download`
downloadBtn.addEventListener("click", () => { this.viewer.toolbar.download() })
fileDetails.appendChild(downloadBtn)
container.appendChild(fileDetails)
parent.appendChild(container)
}
2020-01-20 19:55:51 +01:00
}