aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/user')
-rw-r--r--src/routes/user/[user]/badges/+page.svelte13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index fc938b21..772cfdfe 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -324,14 +324,15 @@
return Object.entries(groupedBadges)
.sort((a, b) => a[1].length - b[1].length)
.sort((a, b) => {
- if (preferences.pinned_badge_wall_categories) {
- const pinnedCategories = preferences.pinned_badge_wall_categories.split(',');
+ const pinnedCategories = preferences.pinned_badge_wall_categories || ([] as string[]);
+ const aIndex = pinnedCategories.indexOf(a[0]);
+ const bIndex = pinnedCategories.indexOf(b[0]);
- if (pinnedCategories.includes(a[0]) && !pinnedCategories.includes(b[0])) return -1;
- if (pinnedCategories.includes(b[0]) && !pinnedCategories.includes(a[0])) return 1;
- }
+ if (aIndex === -1 && bIndex === -1) return 0;
+ if (aIndex === -1) return 1;
+ if (bIndex === -1) return -1;
- return 0;
+ return aIndex - bIndex;
})
.reduce((set: GroupedBadges, [key, value]) => {
set[key] = value;