From c265f90879e9781dbdec08d7b297e0e2ce9bd76c Mon Sep 17 00:00:00 2001 From: mat Date: Mon, 28 Mar 2022 17:57:41 +0000 Subject: add pets category --- src/lib/APITypes.d.ts | 39 ++++++++++++++++++++++ src/lib/sections/Pets.svelte | 79 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 src/lib/sections/Pets.svelte (limited to 'src/lib') diff --git a/src/lib/APITypes.d.ts b/src/lib/APITypes.d.ts index a78da0d..926072c 100644 --- a/src/lib/APITypes.d.ts +++ b/src/lib/APITypes.d.ts @@ -1,3 +1,6 @@ +import type typedHypixelApi from 'typed-hypixel-api' + + export interface CleanMemberProfile { member: CleanMemberProfilePlayer profile: CleanFullProfileBasicMembers @@ -276,3 +279,39 @@ export interface ClaimedSkyBlockItem { name: string timestamp: number } + +export interface Pet { + id: string + xp: number + level: number + tier: typedHypixelApi.Pet['tier'] + skin: string | null + item: ItemListItem | null +} +export interface PetsData { + active: Pet | null + list: Pet[] + missingIds: string[] +} + +export interface ItemRequirement { + dungeon: { + type: string + level: number + } +} +export interface ItemListItem { + id: string + vanillaId: string + tier: string | null + display: { + name: string + glint: boolean + } + npcSellPrice: number | null + requirements: ItemRequirement | null +} +export interface ItemListData { + lastUpdated: number + list: ItemListItem[] +} diff --git a/src/lib/sections/Pets.svelte b/src/lib/sections/Pets.svelte new file mode 100644 index 0000000..7f660c4 --- /dev/null +++ b/src/lib/sections/Pets.svelte @@ -0,0 +1,79 @@ + + +{#if data.member.zones} +

+ Pets acquired: + + {petsAcquiredCount}/{totalPetsCount} + +

+
+ {#each data.member.pets.list as pet} +
+

{cleanId(pet.id.toLowerCase())}

+

Level: {pet.level.toLocaleString()}

+

Tier: {toTitleCase(pet.tier)}

+ {#if pet.item} +

Item: {pet.item.display.name}

+ {/if} +
+ {/each} +
+ {#if data.member.pets.missingIds.length > 0} +

Missing

+ + {/if} +{/if} + + -- cgit