From e2506cac822f0b5ddbc285880c768eda9357e075 Mon Sep 17 00:00:00 2001 From: mat Date: Fri, 4 Mar 2022 23:05:09 -0600 Subject: dynamic packs and bug fixes --- src/lib/BackgroundImage.svelte | 26 +++++++++++++ src/lib/minecraft/Inventory.svelte | 3 +- src/lib/minecraft/Item.svelte | 5 ++- src/lib/minecraft/inventory.ts | 25 ++++++++----- src/lib/sections/Armor.svelte | 4 +- src/lib/sections/Collections.svelte | 8 +++- src/lib/sections/Inventories.svelte | 47 +++++++++++++++++++----- src/routes/player/[player]/[profile].svelte | 57 ++++++++++++++++++++--------- src/routes/player/[player]/index.svelte | 19 ++-------- 9 files changed, 137 insertions(+), 57 deletions(-) create mode 100644 src/lib/BackgroundImage.svelte (limited to 'src') diff --git a/src/lib/BackgroundImage.svelte b/src/lib/BackgroundImage.svelte new file mode 100644 index 0000000..c059119 --- /dev/null +++ b/src/lib/BackgroundImage.svelte @@ -0,0 +1,26 @@ + + + + {@html bodyStyle} + diff --git a/src/lib/minecraft/Inventory.svelte b/src/lib/minecraft/Inventory.svelte index 0a6a179..b3c464d 100644 --- a/src/lib/minecraft/Inventory.svelte +++ b/src/lib/minecraft/Inventory.svelte @@ -1,11 +1,12 @@ {#if data.member.inventories} diff --git a/src/lib/sections/Collections.svelte b/src/lib/sections/Collections.svelte index 9624ec2..7ca1969 100644 --- a/src/lib/sections/Collections.svelte +++ b/src/lib/sections/Collections.svelte @@ -1,9 +1,10 @@ @@ -38,7 +65,7 @@ {cleanId(inventoryName)} {/if} @@ -68,7 +95,7 @@ color: var(--theme-main-text); border: none; border-radius: 0; - /* padding: 0.8em; */ + padding: 0 0.5em; cursor: pointer; transition-duration: 200ms; height: 2.5em; diff --git a/src/routes/player/[player]/[profile].svelte b/src/routes/player/[player]/[profile].svelte index e8b601d..6cb5753 100644 --- a/src/routes/player/[player]/[profile].svelte +++ b/src/routes/player/[player]/[profile].svelte @@ -9,7 +9,40 @@ r.json() ) - const pack = params.pack ?? data?.customization?.pack + const packName = params.pack ?? data?.customization?.pack + + let pack: MatcherFile | undefined + + switch (packName) { + case 'ectoplasm': + pack = (await import('skyblock-assets/matchers/ectoplasm.json')) as any + break + case 'furfsky': + pack = (await import('skyblock-assets/matchers/furfsky.json')) as any + break + case 'furfsky_reborn': + pack = (await import('skyblock-assets/matchers/furfsky_reborn.json')) as any + break + case 'hypixel+': + pack = (await import('skyblock-assets/matchers/hypixel+.json')) as any + break + case 'packshq': + pack = (await import('skyblock-assets/matchers/packshq.json')) as any + break + case 'rnbw': + pack = (await import('skyblock-assets/matchers/rnbw.json')) as any + break + case 'vanilla': + pack = (await import('skyblock-assets/matchers/vanilla.json')) as any + break + case 'worlds_and_beyond': + pack = (await import('skyblock-assets/matchers/worlds_and_beyond.json')) as any + break + default: + // packshq is the default pack + pack = (await import('skyblock-assets/matchers/furfsky_reborn.json')) as any + break + } return { props: { @@ -24,9 +57,11 @@ import Leaderboards from '$lib/sections/Leaderboards.svelte' import Inventories from '$lib/sections/Inventories.svelte' import Collections from '$lib/sections/Collections.svelte' + import BackgroundImage from '$lib/BackgroundImage.svelte' import Username from '$lib/minecraft/Username.svelte' import StatList from '$lib/sections/StatList.svelte' import Infobox from '$lib/sections/Infobox.svelte' + import type { MatcherFile } from 'skyblock-assets' import Minions from '$lib/sections/Minions.svelte' import Collapsible from '$lib/Collapsible.svelte' import Skills from '$lib/sections/Skills.svelte' @@ -40,10 +75,9 @@ import Toc from '$lib/Toc.svelte' import type { CleanMemberProfile } from '$lib/APITypes' - import { onDestroy } from 'svelte' export let data: CleanMemberProfile - export let pack: string + export let pack: MatcherFile const categories = [ 'deaths', @@ -57,22 +91,11 @@ 'collections', 'leaderboards', ] - - // cursed svelte :D - $: bodyStyle = data.customization?.backgroundUrl - ? `` - : '' - - // get rid of the body style when we leave the page - // not doing this will sometimes cause the background to stay - onDestroy(() => { - bodyStyle = '' - }) - - {@html bodyStyle} - +{#if data.customization?.backgroundUrl} + +{/if} import type { CleanProfile, CleanUser } from '$lib/APITypes' + import BackgroundImage from '$lib/BackgroundImage.svelte' import Username from '$lib/minecraft/Username.svelte' import Header from '$lib/Header.svelte' import Head from '$lib/Head.svelte' - import { onDestroy } from 'svelte' export let data: CleanUser @@ -53,22 +53,11 @@ isActiveProfileOnline = Date.now() / 1000 - 60 < activeProfileLastSave } - - // cursed svelte :D - $: bodyStyle = data.customization?.backgroundUrl - ? `` - : '' - - // get rid of the body style when we leave the page - // not doing this will sometimes cause the background to stay - onDestroy(() => { - bodyStyle = '' - }) - - {@html bodyStyle} - +{#if data.customization?.backgroundUrl} + +{/if}
-- cgit