aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/Utility/cdn.ts26
-rw-r--r--src/routes/user/[user]/badges/+page.svelte11
2 files changed, 32 insertions, 5 deletions
diff --git a/src/lib/Utility/cdn.ts b/src/lib/Utility/cdn.ts
new file mode 100644
index 00000000..bfb5a558
--- /dev/null
+++ b/src/lib/Utility/cdn.ts
@@ -0,0 +1,26 @@
+import { env } from '$env/dynamic/public';
+
+export const cdn = (urlString: string | undefined, disable = false) => {
+ if (!urlString || !['http', 'https'].some((protocol) => urlString.startsWith(protocol)))
+ return urlString;
+
+ const url = new URL(urlString);
+
+ return env.PUBLIC_ANILIST_REDIRECT_URI?.includes('localhost') ||
+ disable ||
+ [
+ 'api.telegram.org',
+ 'telegra.ph',
+ 't.me',
+ 'discord.com',
+ 'cdn.discordapp.com',
+ 'media.discordapp.net',
+ 'images-ext-1.discordapp.net',
+ 'images-ext-2.discordapp.net',
+ 'media.trace.moe'
+ ].includes(url.hostname)
+ ? urlString
+ : `https://cdn.due.moe?url=${encodeURIComponent(urlString)}`;
+};
+
+export default cdn;
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index 53483a65..0b7738e1 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -11,6 +11,7 @@
import root from '$lib/Utility/root.js';
import tooltip from '$lib/Tooltip/tooltip.js';
import proxy from '$lib/Utility/proxy.js';
+ import cdn from '$lib/Utility/cdn.js';
// import { io } from 'socket.io-client';
export let data;
@@ -109,7 +110,7 @@
link: '#',
description: badge.alt,
image: badge.src.includes('placeholder')
- ? proxy('https://awc.moe/static/images/badge-placeholder.png')
+ ? cdn('https://awc.moe/static/images/badge-placeholder.png')
: badge.src
};
})
@@ -126,7 +127,7 @@
link: badge.href,
description: image.alt,
image: image.src.includes('placeholder')
- ? proxy('https://awc.moe/static/images/badge-placeholder.png')
+ ? cdn('https://awc.moe/static/images/badge-placeholder.png')
: image.src
};
})
@@ -317,7 +318,7 @@
title={badge.description}
use:tooltip
>
- <img src={badge.image} alt={badge.description} loading="lazy" />
+ <img src={cdn(badge.image)} alt={badge.description} loading="lazy" />
</a>
{/each}
</div>
@@ -464,7 +465,7 @@
}${badge.description ? `\n${badge.description}` : ''}`}
use:tooltip
>
- <img src={badge.image} alt={badge.description} loading="lazy" />
+ <img src={cdn(badge.image)} alt={badge.description} loading="lazy" />
</a>
{:else}
<a
@@ -476,7 +477,7 @@
}${badge.description ? `\n${badge.description}` : ''}`}
use:tooltip
>
- <img src={badge.image} alt={badge.description} loading="lazy" />
+ <img src={cdn(badge.image)} alt={badge.description} loading="lazy" />
</a>
{/if}
{/each}