From 6808b4d40690e7021b0a1562ff1883aafeee9133 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 2 Nov 2023 15:51:57 -0700 Subject: feat(badges): return image of html --- src/routes/user/[user]/badges.png/+server.ts | 62 ++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/routes/user/[user]/badges.png/+server.ts (limited to 'src') diff --git a/src/routes/user/[user]/badges.png/+server.ts b/src/routes/user/[user]/badges.png/+server.ts new file mode 100644 index 00000000..76915995 --- /dev/null +++ b/src/routes/user/[user]/badges.png/+server.ts @@ -0,0 +1,62 @@ +import nodeHtmlToImage from 'node-html-to-image'; +import { user } from '$lib/AniList/user'; +import type { Badge } from '$lib/userBadgesDatabase.js'; + +export const GET = async ({ params }) => { + const badges = (await ( + await fetch(`https://due.moe/api/badges?id=${(await user(params.user)).id}`) + ).json()) as Badge[]; + + return new Response( + await nodeHtmlToImage({ + html: ` + + + + + + Event Badges + + + + + +
+ ${badges + .map((badge) => { + return ``; + }) + .join('')} +
+ + + ` + }), + { + headers: { + 'Content-Type': 'image/png', + 'Cache-Control': 'public, max-age=10, s-maxage=10' + } + } + ); +}; -- cgit v1.2.3