From e2a835269babfbfae1e8e1226ffd5d5eed3c3536 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 13 May 2024 03:34:29 -0700 Subject: refactor(badges): move badges display to component --- src/lib/User/BadgeWall/Badges.svelte | 103 +++++++++++++++++++++++++++++++++++ src/lib/User/BadgeWall/badge.ts | 5 ++ 2 files changed, 108 insertions(+) create mode 100644 src/lib/User/BadgeWall/Badges.svelte create mode 100644 src/lib/User/BadgeWall/badge.ts (limited to 'src/lib/User/BadgeWall') diff --git a/src/lib/User/BadgeWall/Badges.svelte b/src/lib/User/BadgeWall/Badges.svelte new file mode 100644 index 00000000..2821ae15 --- /dev/null +++ b/src/lib/User/BadgeWall/Badges.svelte @@ -0,0 +1,103 @@ + + +{#if ungroupedBadges.length === 0} +
+ No due.moe registered badges found for this user. e.preventDefault()} + title="This alert does not include AWC badges." + use:tooltip>? +
+{/if} + +{#each groupedBadges as [category, unsortedBadges]} + {@const badges = unsortedBadges.sort( + (a, b) => new Date(b.time || 0).getTime() - new Date(a.time || 0).getTime() + )} + +
+ {category} + +

+ +

+
+ + {#if groupedBadges[groupedBadges.length - 1][0] !== category} +

+ {/if} +{/each} diff --git a/src/lib/User/BadgeWall/badge.ts b/src/lib/User/BadgeWall/badge.ts new file mode 100644 index 00000000..7e6b7254 --- /dev/null +++ b/src/lib/User/BadgeWall/badge.ts @@ -0,0 +1,5 @@ +import type { Badge } from '$lib/Database/userBadges'; + +export interface IndexedBadge extends Badge { + index: number; +} -- cgit v1.2.3