diff options
-rw-r--r-- | src/lib/sections/Misc.svelte | 33 | ||||
-rw-r--r-- | src/routes/player/[player]/[profile].svelte | 12 |
2 files changed, 44 insertions, 1 deletions
diff --git a/src/lib/sections/Misc.svelte b/src/lib/sections/Misc.svelte new file mode 100644 index 0000000..01bdda8 --- /dev/null +++ b/src/lib/sections/Misc.svelte @@ -0,0 +1,33 @@ +<script lang="ts"> + import { cleanId, millisecondsToTime } from '$lib/utils' + import type { CleanMemberProfile, StatItem } from '$lib/APITypes' + + export let data: CleanMemberProfile +</script> + +<ul> + {#each data.member.stats + .filter(s => s.category === 'misc') + .sort((a, b) => b.value - a.value) as stat} + <li> + <span class="stat-name">{cleanId(stat.categorizedName)}:</span> + <span class="stat-value"> + {#if stat.unit === 'time'} + {millisecondsToTime(stat.value)} + {:else} + {stat.value.toLocaleString()} + {/if} + </span> + </li> + {/each} +</ul> + +<style> + li { + position: relative; + } + ul { + margin-top: 0.5em; + padding-left: 1em; + } +</style> diff --git a/src/routes/player/[player]/[profile].svelte b/src/routes/player/[player]/[profile].svelte index c55732c..21b8a33 100644 --- a/src/routes/player/[player]/[profile].svelte +++ b/src/routes/player/[player]/[profile].svelte @@ -52,6 +52,7 @@ import Claimed from '$lib/sections/Claimed.svelte' import Pets from '$lib/sections/Pets.svelte' import FarmingContests from '$lib/sections/FarmingContests.svelte' + import Misc from '$lib/sections/Misc.svelte' export let data: CleanMemberProfile export let pack: MatcherFile @@ -158,7 +159,8 @@ {/if} {#if data.member.stats} {#each categories as category} - {#if data.member.stats?.find(s => s.category === category)} + <!-- misc is handled later so we can add stuff other than stats to it --> + {#if category !== 'misc' && data.member.stats?.find(s => s.category === category)} <section> <Collapsible id={category}> <h2 slot="title">{cleanId(category)}</h2> @@ -238,6 +240,14 @@ </Collapsible> </section> {/if} + {#if categories.includes('misc')} + <section> + <Collapsible id="misc"> + <h2 slot="title">Misc</h2> + <Misc {data} /> + </Collapsible> + </section> + {/if} <section> <Collapsible id="leaderboards"> <h2 slot="title">Leaderboards</h2> |