disable download button on blocked files

This commit is contained in:
2020-08-02 17:52:25 +02:00
parent 372d08353d
commit 7290975873
3 changed files with 39 additions and 16 deletions

View File

@@ -7,12 +7,12 @@ function Viewer(type, viewToken, data) {
this.file = null this.file = null
this.title = "" // Contains either the file name or list title this.title = "" // Contains either the file name or list title
this.listId = "" this.listId = ""
this.viewToken = "" this.viewToken = viewToken
this.isList = false this.isList = false
this.isFile = false this.isFile = false
this.initialized = false this.initialized = false
this.viewerScript = null
this.viewToken = viewToken
this.toolbar = new Toolbar(this) this.toolbar = new Toolbar(this)
this.detailsWindow = new DetailsWindow(this) this.detailsWindow = new DetailsWindow(this)
this.editWindow = new EditWindow() this.editWindow = new EditWindow()
@@ -92,48 +92,53 @@ Viewer.prototype.setFile = function(file) {
) )
} }
// Clean up the previous viewer if possible
if (this.viewerScript !== null && typeof this.viewerScript.destroy === "function") {
this.viewerScript.destroy()
}
// Clear the canvas // Clear the canvas
this.divFilepreview.innerHTML = "" this.divFilepreview.innerHTML = ""
// This function can be used by the viewer scripts to navigate to the next
// file when a songs has ended for example
let nextItem = () => { let nextItem = () => {
if (this.listNavigator !== null) { if (this.listNavigator !== null) {
this.listNavigator.nextItem() this.listNavigator.nextItem()
} }
} }
if ( if (file.abuse_type !== "") {
file.abuse_type !== "" this.viewerScript = new AbuseViewer(this,file)
) { }else if (file.mime_type.startsWith("image")) {
new AbuseViewer(this,file).render(this.divFilepreview) this.viewerScript = new ImageViewer(this, file)
}else if (
file.mime_type.startsWith("image")
) {
new ImageViewer(this, file).render(this.divFilepreview)
} else if ( } else if (
file.mime_type.startsWith("video") || file.mime_type.startsWith("video") ||
file.mime_type === "application/matroska" || file.mime_type === "application/matroska" ||
file.mime_type === "application/x-matroska" file.mime_type === "application/x-matroska"
) { ) {
new VideoViewer(this, file, nextItem).render(this.divFilepreview) this.viewerScript = new VideoViewer(this, file, nextItem)
} else if ( } else if (
file.mime_type.startsWith("audio") || file.mime_type.startsWith("audio") ||
file.mime_type === "application/ogg" || file.mime_type === "application/ogg" ||
file.name.endsWith(".mp3") file.name.endsWith(".mp3")
) { ) {
new AudioViewer(this, file, nextItem).render(this.divFilepreview) this.viewerScript = new AudioViewer(this, file, nextItem)
} else if ( } else if (
file.mime_type === "application/pdf" || file.mime_type === "application/pdf" ||
file.mime_type === "application/x-pdf" file.mime_type === "application/x-pdf"
) { ) {
new PDFViewer(this, file).render(this.divFilepreview) this.viewerScript = new PDFViewer(this, file)
} else if ( } else if (
file.mime_type.startsWith("text") || file.mime_type.startsWith("text") ||
file.id === "demo" file.id === "demo"
) { ) {
new TextViewer(this, file).render(this.divFilepreview) this.viewerScript = new TextViewer(this, file)
} else { } else {
new FileViewer(this, file).render(this.divFilepreview) this.viewerScript = new FileViewer(this, file)
} }
this.viewerScript.render(this.divFilepreview)
} }
Viewer.prototype.renderSponsors = function() { Viewer.prototype.renderSponsors = function() {

View File

@@ -12,7 +12,6 @@ function AbuseViewer(viewer, file, next) {
this.container.appendChild(this.title) this.container.appendChild(this.title)
this.description = document.createElement("p") this.description = document.createElement("p")
// this.description.style.maxWidth = "500px"
this.description.innerText = "This file has received an abuse report and "+ this.description.innerText = "This file has received an abuse report and "+
"was taken down." "was taken down."
this.container.appendChild(this.description) this.container.appendChild(this.description)
@@ -25,4 +24,13 @@ function AbuseViewer(viewer, file, next) {
AbuseViewer.prototype.render = function(parent) { AbuseViewer.prototype.render = function(parent) {
parent.appendChild(this.container) parent.appendChild(this.container)
// Disable the download button
this.btnDownloadDisplay = this.viewer.toolbar.btnDownload.style.display
this.viewer.toolbar.btnDownload.style.display = "none"
}
AbuseViewer.prototype.destroy = function(parent) {
// Restore the download button
this.viewer.toolbar.btnDownload.style.display = this.btnDownloadDisplay
} }

View File

@@ -458,6 +458,16 @@ select:active{
.button_red {background: linear-gradient(var(--danger_color), var(--danger_color_dark)) !important; color: var(--highlight_text_color) !important;} .button_red {background: linear-gradient(var(--danger_color), var(--danger_color_dark)) !important; color: var(--highlight_text_color) !important;}
.button_red:active {background: linear-gradient(var(--danger_color_dark), var(--danger_color)) !important; color: var(--highlight_text_color) !important;} .button_red:active {background: linear-gradient(var(--danger_color_dark), var(--danger_color)) !important; color: var(--highlight_text_color) !important;}
button:disabled, button.disabled,
.button:disabled, .button.disabled,
input[type="submit"]:disabled, input[type="submit"].disabled,
input[type="button"]:disabled, input[type="button"].disabled,
input[type="color"]:disabled, input[type="color"].disabled,
select:disabled , select.disabled {
background: var(--input_color_dark);
box-shadow: none;
}
/* Dropdown list of the select tag */ /* Dropdown list of the select tag */
option{ option{
background-color: var(--input_color_dark); background-color: var(--input_color_dark);