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 --- .gitignore | 1 + package.json | 2 +- 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 ++-------- svelte.config.js | 2 - yarn.lock | 8 ++-- 13 files changed, 143 insertions(+), 64 deletions(-) create mode 100644 src/lib/BackgroundImage.svelte diff --git a/.gitignore b/.gitignore index 4b9e838..91361e6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .DS_Store node_modules /build +/dist /.svelte-kit /package .env diff --git a/package.json b/package.json index 7c307d8..9d43bae 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@sveltejs/adapter-static": "^1.0.0-next.28", "@sveltejs/adapter-vercel": "^1.0.0-next.43", "cookie": "^0.4.1", - "skyblock-assets": "^2.0.6" + "skyblock-assets": "^2.0.7" }, "packageManager": "yarn@3.1.1" } 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}
diff --git a/svelte.config.js b/svelte.config.js index 8d6fe72..52db23e 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -14,7 +14,6 @@ function fetch(url) { }) res.on('end', () => { - console.log(data) resolve(data) }) }) @@ -52,7 +51,6 @@ function shuffle(a) { JSON.stringify(donators), { encoding: 'utf8' } ) - console.log('wrote file!') })() /** @type {import('@sveltejs/kit').Config} */ diff --git a/yarn.lock b/yarn.lock index d49f0b9..c89c017 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1573,10 +1573,10 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -skyblock-assets@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/skyblock-assets/-/skyblock-assets-2.0.6.tgz#5c12d1df5594f8e26905204c92fe7be659e47d22" - integrity sha512-Urtw2iHLu/OnSfsfTGPFMsk7hiagUi47Xu4iplhKRNg1sxHzWS4SHvYumk6Kw8TL9nyMHCwbYj87vEIGrL3J5Q== +skyblock-assets@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/skyblock-assets/-/skyblock-assets-2.0.7.tgz#2be95641c611be949a34fb9cd17854ce18e6ade5" + integrity sha512-uoJ8oX1Ak7d7ti/7yHAgYg6uMxUdxAIv72tmr1zae/DJVZ9/mrdIsfVK9k3F3uKFQUFtIGPsUr40SSkevGcQ4g== slash@^3.0.0: version "3.0.0" -- cgit