From a6553114302fd21548cae77639613a63b7133616 Mon Sep 17 00:00:00 2001 From: mat Date: Sat, 19 Mar 2022 17:37:21 -0500 Subject: Add slayers --- src/lib/APITypes.d.ts | 21 +++++++++ src/lib/Toc.svelte | 4 +- src/lib/sections/Minions.svelte | 6 +-- src/lib/sections/Slayers.svelte | 70 +++++++++++++++++++++++++++++ src/routes/player/[player]/[profile].svelte | 10 +++++ 5 files changed, 106 insertions(+), 5 deletions(-) create mode 100644 src/lib/sections/Slayers.svelte (limited to 'src') diff --git a/src/lib/APITypes.d.ts b/src/lib/APITypes.d.ts index 328f4cd..70bab46 100644 --- a/src/lib/APITypes.d.ts +++ b/src/lib/APITypes.d.ts @@ -192,3 +192,24 @@ export interface CleanSocialMedia { discord: string | null forums: string | null } + +export interface SlayerData { + xp: number + kills: number + bosses: Slayer[] +} + +interface SlayerTier { + tier: number, + kills: number +} + +export interface Slayer { + name?: SlayerName + raw_name: string + xp: number + level: number + kills: number + tiers: SlayerTier[] +} + diff --git a/src/lib/Toc.svelte b/src/lib/Toc.svelte index 7259fee..cced057 100644 --- a/src/lib/Toc.svelte +++ b/src/lib/Toc.svelte @@ -16,12 +16,12 @@ diff --git a/src/lib/sections/Slayers.svelte b/src/lib/sections/Slayers.svelte new file mode 100644 index 0000000..c5266df --- /dev/null +++ b/src/lib/sections/Slayers.svelte @@ -0,0 +1,70 @@ + + +{#if data.member.slayers} +
+

Xp: {data.member.slayers.xp}

+

Kills: {data.member.slayers.kills}

+
+
+ {#each data.member.slayers.bosses as slayer} +
+

{slayer.name ? cleanId(slayer.name) : cleanId(slayer.raw_name)}

+
+

Xp: {slayer.xp.toLocaleString()}

+

Level: {slayer.level}

+
+ + + {#each slayer.tiers as tier} + + {/each} + + + {#each slayer.tiers as tier} + + {/each} + +
Tier {toRomanNumerals(tier.tier)}
+ {tier.kills.toLocaleString()} +
+
+ {/each} +
+{/if} + + diff --git a/src/routes/player/[player]/[profile].svelte b/src/routes/player/[player]/[profile].svelte index 2d3b955..b0143c4 100644 --- a/src/routes/player/[player]/[profile].svelte +++ b/src/routes/player/[player]/[profile].svelte @@ -45,6 +45,7 @@ import Head from '$lib/Head.svelte' import Toc from '$lib/Toc.svelte' import { chooseDefaultBackground } from '$lib/backgrounds' + import Slayers from '$lib/sections/Slayers.svelte' export let data: CleanMemberProfile export let pack: MatcherFile @@ -59,6 +60,7 @@ if (data.member.stats?.find(s => s.category === 'races')) categories.push('races') categories.push('misc') categories.push('minions') + if (data.member.slayers) categories.push('slayers') categories.push('zones') if (data.member.collections && data.member.collections.length > 0) categories.push('collections') @@ -147,6 +149,14 @@ + {#if categories.includes('slayers')} +
+ +

Slayers

+ +
+
+ {/if}

Zones

-- cgit