diff options
| author | mat <github@matdoes.dev> | 2022-03-04 23:05:09 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-03-04 23:05:09 -0600 |
| commit | e2506cac822f0b5ddbc285880c768eda9357e075 (patch) | |
| tree | 0ca4f9dee04a0d51f6d3a939c9543fbf9e6d779c /src/routes | |
| parent | 453872fa0587040cf56f5ba72d92042542836afc (diff) | |
| download | skyblock-stats-e2506cac822f0b5ddbc285880c768eda9357e075.tar.gz skyblock-stats-e2506cac822f0b5ddbc285880c768eda9357e075.tar.bz2 skyblock-stats-e2506cac822f0b5ddbc285880c768eda9357e075.zip | |
dynamic packs and bug fixes
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/player/[player]/[profile].svelte | 57 | ||||
| -rw-r--r-- | src/routes/player/[player]/index.svelte | 19 |
2 files changed, 44 insertions, 32 deletions
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 - ? `<style>:root{--background:url(${data.customization.backgroundUrl})}</style>` - : '' - - // get rid of the body style when we leave the page - // not doing this will sometimes cause the background to stay - onDestroy(() => { - bodyStyle = '' - }) </script> -<svelte:head> - {@html bodyStyle} -</svelte:head> +{#if data.customization?.backgroundUrl} + <BackgroundImage url={data.customization.backgroundUrl} /> +{/if} <Head title="{data.member.username}'s SkyBlock profile ({data.member.profileName})" diff --git a/src/routes/player/[player]/index.svelte b/src/routes/player/[player]/index.svelte index b20802f..97b7d78 100644 --- a/src/routes/player/[player]/index.svelte +++ b/src/routes/player/[player]/index.svelte @@ -28,10 +28,10 @@ <script lang="ts"> 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 - ? `<style>:root{--background:url(${data.customization.backgroundUrl})}</style>` - : '' - - // get rid of the body style when we leave the page - // not doing this will sometimes cause the background to stay - onDestroy(() => { - bodyStyle = '' - }) </script> -<svelte:head> - {@html bodyStyle} -</svelte:head> +{#if data.customization?.backgroundUrl} + <BackgroundImage url={data.customization.backgroundUrl} /> +{/if} <Head title={data.player ? `${data.player.username}'s SkyBlock profiles` : 'Invalid player'} /> <Header /> |
