aboutsummaryrefslogtreecommitdiff
path: root/src/routes/api
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-04-14 13:32:26 -0700
committerFuwn <[email protected]>2024-04-14 13:32:26 -0700
commitfc1fcbf71319aea2414647f84738f08034ad8284 (patch)
tree6e72709365b717f4c11f7af65e996c3d62e040be /src/routes/api
parentfeat(badges): darken hidden badges (diff)
downloaddue.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.ts26
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,