import { env } from '$env/dynamic/public'; export const cdn = (urlString: string | undefined) => !urlString || !['http', 'https'].some((protocol) => urlString.startsWith(protocol)) || env.PUBLIC_ANILIST_REDIRECT_URI?.includes('localhost') || [ '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', 'files.catbox.moe' ].includes(new URL(urlString).hostname) ? urlString : `https://cdn.due.moe?url=${encodeURIComponent(urlString)}`; export const thumbnail = (url: string | undefined) => { const width = 144; const height = 200; if (url && url.includes('catbox.moe') && !url.includes('gif')) return url.replace('catbox.moe/', 'catbox.moe/thumbs/t_'); if (url && url.includes('imgur') && !url.includes('gif')) return (!url.includes('i.imgur.com') ? url.replace('imgur.com', 'i.imgur.com') : url).replace( /(\.\w+)$/, `_d.webp?maxwidth=${width}&shape=thumb&fidelity=high` ); if (url && url.includes('discordapp')) { const match = url.match(/attachments\/(\d+)\/(\d+)\/(.+)/); if (match) { const [, server, id, file] = match; return `https://media.discordapp.net/attachments/${server}/${id}/${file}?width=${width}&height=${height}`; } } return url; };