diff --git a/svelte/src/file_viewer/AdLeaderboard.svelte b/svelte/src/file_viewer/AdLeaderboard.svelte
index 8e22044..0caa6cf 100644
--- a/svelte/src/file_viewer/AdLeaderboard.svelte
+++ b/svelte/src/file_viewer/AdLeaderboard.svelte
@@ -29,7 +29,7 @@ onMount(() => {
}
})
-let set_ad_type = (t) => {
+let set_ad_type = async t => {
ad_type = t
head.load_ad(t)
resize()
diff --git a/svelte/src/file_viewer/AdSkyscraper.svelte b/svelte/src/file_viewer/AdSkyscraper.svelte
index 50a9150..b097c39 100644
--- a/svelte/src/file_viewer/AdSkyscraper.svelte
+++ b/svelte/src/file_viewer/AdSkyscraper.svelte
@@ -7,7 +7,7 @@ let container
let ad_type = ""
let visible = false
-onMount(async () => {
+onMount(() => {
let url_ads = new URL(window.location.href).searchParams.get("ads")
if (url_ads) {
set_ad_type(url_ads)
@@ -44,7 +44,7 @@ onMount(async () => {
}
})
-let set_ad_type = async (t) => {
+let set_ad_type = async t => {
ad_type = t
head.load_ad(t)
diff --git a/svelte/src/file_viewer/FileViewer.svelte b/svelte/src/file_viewer/FileViewer.svelte
index 87445f9..8c231e4 100644
--- a/svelte/src/file_viewer/FileViewer.svelte
+++ b/svelte/src/file_viewer/FileViewer.svelte
@@ -531,11 +531,10 @@ const keyboard_event = evt => {
/* background-color: var(--layer_2_color); */
background: repeating-linear-gradient(
315deg,
- #0b3100 0px,
- #0b3100 18px,
- #3d0000 20px,
- #3d0000 38px,
- #0b3100 40px
+ #034215 0px,
+ #034215 20px,
+ #430303 20px,
+ #430303 40px
);
}
diff --git a/svelte/src/file_viewer/viewers/FilePreview.svelte b/svelte/src/file_viewer/viewers/FilePreview.svelte
index cdb0eb1..bbdcbb9 100644
--- a/svelte/src/file_viewer/viewers/FilePreview.svelte
+++ b/svelte/src/file_viewer/viewers/FilePreview.svelte
@@ -10,6 +10,7 @@ import Text from "./Text.svelte";
import File from "./File.svelte";
import Abuse from "./Abuse.svelte";
import { file_type } from "../FileUtilities.svelte";
+import RateLimit from "./RateLimit.svelte";
let viewer
let viewer_type = "loading"
@@ -20,6 +21,8 @@ export const set_file = async file => {
return
} else if (file.abuse_type !== "") {
viewer_type = "abuse"
+ } else if (file.availability === "file_rate_limited_captcha_required") {
+ viewer_type = "rate_limit"
} else {
viewer_type = file_type(file)
}
@@ -45,6 +48,8 @@ const prev = () => { dispatch("prev") }
{:else if viewer_type === "abuse"}
+ Hotlinking protection has been enabled for this file. This happens when + a file is downloaded many times outside of our file viewer page (this + page). Usually this means people are using download managers like + JDownloader 2, Aria2 or wget. Using a download manager circumvents + pixeldrain's advertisements and we lose money because of it. More + information about this protection mechanism can be found on the home page. +
++ This warning disappears when the you are a + Patreon supporter, + or when the uploader of the file enables + bandwidth sharing on their Pro account + (and their data cap has not been used up). Using a download manager with + a Pro account is allowed, it will not trigger this warning for other + files. +
++ The file can be downloaded like usual by clicking the download button. + You will have to complete a CAPTCHA test to prove that you're not a + robot. +
+ +