From 405c6e68d1c16e8252b76e8e7c4dce9da78a8eac Mon Sep 17 00:00:00 2001 From: mat Date: Sat, 30 Apr 2022 00:21:13 -0500 Subject: update skills api --- src/lib/APITypes.d.ts | 26 ++++++++++++++++++++++++-- src/lib/api.ts | 1 + src/lib/sections/Skills.svelte | 17 ++++++++++++++--- src/routes/player/[player]/[profile].svelte | 2 +- 4 files changed, 40 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/lib/APITypes.d.ts b/src/lib/APITypes.d.ts index 827ee13..ff84d46 100644 --- a/src/lib/APITypes.d.ts +++ b/src/lib/APITypes.d.ts @@ -18,7 +18,7 @@ export interface CleanMemberProfilePlayer extends CleanPlayer { fairySouls: FairySouls inventories?: Inventories objectives: Objective[] - skills: Skill[] + skills: Skills zones: Zone[] collections: Collection[] slayers: SlayerData @@ -39,7 +39,7 @@ export interface CleanMember extends CleanBasicMember { fairySouls: FairySouls inventories?: Inventories objectives: Objective[] - skills: Skill[] + skills: Skills zones: Zone[] collections: Collection[] slayers: SlayerData @@ -397,3 +397,25 @@ export interface LeaderboardBasicPlayer { color: string } } + + +export interface Skill { + id: string + xp: number + level: number + + maxLevel: number + + levelXp: number + levelXpRequired: number +} + +export interface Skills { + list: Skill[] + /** + * Whether the player has their skills API enabled. If this is off, that + * means the data doesn't include xp and is per-player. You should show a + * warning to the user. + */ + apiEnabled: boolean +} diff --git a/src/lib/api.ts b/src/lib/api.ts index 243cf2b..689a952 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -1 +1,2 @@ +// the trailing slash is required export const API_URL = 'https://skyblock-api.matdoes.dev/' diff --git a/src/lib/sections/Skills.svelte b/src/lib/sections/Skills.svelte index 56d9164..8fc5aaf 100644 --- a/src/lib/sections/Skills.svelte +++ b/src/lib/sections/Skills.svelte @@ -1,4 +1,6 @@ +{#if !data.member.skills.apiEnabled} +

+ Skills API is disabled for this profile, so the values shown may be inaccurate. +

+{/if}