From 1df50d1713cfc63ae06961c27c84009facabe620 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 22 Jan 2024 10:03:16 -0800 Subject: feat(badges): image cdn --- src/lib/Utility/cdn.ts | 26 ++++++++++++++++++++++++++ src/routes/user/[user]/badges/+page.svelte | 11 ++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 src/lib/Utility/cdn.ts (limited to 'src') 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 > - {badge.description} + {badge.description} {/each} @@ -464,7 +465,7 @@ }${badge.description ? `\n${badge.description}` : ''}`} use:tooltip > - {badge.description} + {badge.description} {:else} - {badge.description} + {badge.description} {/if} {/each} -- cgit v1.2.3