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 @@
{/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