diff options
| author | Fuwn <[email protected]> | 2024-04-14 13:32:26 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-04-14 13:32:26 -0700 |
| commit | fc1fcbf71319aea2414647f84738f08034ad8284 (patch) | |
| tree | 6e72709365b717f4c11f7af65e996c3d62e040be /src/routes/api | |
| parent | feat(badges): darken hidden badges (diff) | |
| download | due.moe-fc1fcbf71319aea2414647f84738f08034ad8284.tar.xz due.moe-fc1fcbf71319aea2414647f84738f08034ad8284.zip | |
feat(badges): hide category button
Diffstat (limited to 'src/routes/api')
| -rw-r--r-- | src/routes/api/badges/+server.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/routes/api/badges/+server.ts b/src/routes/api/badges/+server.ts index 2dc1d7b3..000dfa6c 100644 --- a/src/routes/api/badges/+server.ts +++ b/src/routes/api/badges/+server.ts @@ -73,6 +73,32 @@ export const PUT = async ({ cookies, url, request }) => { return await badges(identity.id); } + if (url.searchParams.get('hide') || undefined) { + const allBadges = await getUserBadges(identity.id); + + await Promise.all( + allBadges + .filter((badge) => badge.category === (url.searchParams.get('category') || '')) + .map(async (badge) => { + await updateUserBadge(identity.id, badge.id as number, { + ...badge, + hidden: + allBadges + .filter((badge) => badge.category === (url.searchParams.get('category') || '')) + .filter((badge) => badge.hidden).length > + allBadges.filter( + (badge) => badge.category === (url.searchParams.get('category') || '') + ).length / + 2 + ? false + : true + }); + }) + ); + + return await badges(identity.id); + } + const badge = { post: url.searchParams.get('post') || undefined, image: url.searchParams.get('image') || undefined, |