diff options
Diffstat (limited to 'src/routes')
-rw-r--r-- | src/routes/__error.svelte | 53 | ||||
-rw-r--r-- | src/routes/index.svelte | 4 | ||||
-rw-r--r-- | src/routes/player/[player]/[profile].svelte | 14 | ||||
-rw-r--r-- | src/routes/player/[player]/index.svelte | 25 |
4 files changed, 85 insertions, 11 deletions
diff --git a/src/routes/__error.svelte b/src/routes/__error.svelte new file mode 100644 index 0000000..b49d2a1 --- /dev/null +++ b/src/routes/__error.svelte @@ -0,0 +1,53 @@ +<script lang="ts" context="module"> + import type { ErrorLoad } from '@sveltejs/kit' + + export const load: ErrorLoad = async ({ error, status }) => { + return { + props: { + error, + status, + }, + } + } +</script> + +<script lang="ts"> + import Header from '$lib/Header.svelte' + import Head from '$lib/Head.svelte' + + export let status: number + export let error: Error +</script> + +<Head title={error.message} /> +<Header /> + +<main> + <div> + <h1>{status}</h1> + <p>{error.message}</p> + <a href="/" sveltekit:prefetch>Home</a> + </div> +</main> + +<style> + main { + height: calc(100% - 4rem); + /* vertical align */ + display: grid; + align-items: center; + justify-content: center; + } + + h1 { + font-size: 3em; + margin: 0; + } + p { + margin: 0; + } + a { + display: block; + margin-top: 0.5rem; + } +</style> diff --git a/src/routes/index.svelte b/src/routes/index.svelte index 524df13..9bfbd29 100644 --- a/src/routes/index.svelte +++ b/src/routes/index.svelte @@ -1,4 +1,6 @@ <script context="module" lang="ts"> + import Header from '$lib/Header.svelte' + export const prerender = true </script> @@ -6,6 +8,8 @@ <title>Home</title> </svelte:head> +<Header /> + <section> <h1>SkyBlock Stats</h1> </section> diff --git a/src/routes/player/[player]/[profile].svelte b/src/routes/player/[player]/[profile].svelte index 1a86b44..e31108b 100644 --- a/src/routes/player/[player]/[profile].svelte +++ b/src/routes/player/[player]/[profile].svelte @@ -37,6 +37,8 @@ import { cleanId } from '$lib/utils' import Collapsible from '$lib/Collapsible.svelte' import Minions from '$lib/sections/Minions.svelte' + import Zones from '$lib/sections/Zones.svelte' + import Collections from '$lib/sections/Collections.svelte' export let data: CleanMemberProfile export let pack: string @@ -127,6 +129,18 @@ <Minions {data} /> </Collapsible> </section> + <section id="zones"> + <Collapsible> + <h2 slot="title">Zones</h2> + <Zones {data} /> + </Collapsible> + </section> + <section id="collections"> + <Collapsible> + <h2 slot="title">Collections</h2> + <Collections {data} /> + </Collapsible> + </section> </div> </div> </main> diff --git a/src/routes/player/[player]/index.svelte b/src/routes/player/[player]/index.svelte index 2ba7ba1..460cd28 100644 --- a/src/routes/player/[player]/index.svelte +++ b/src/routes/player/[player]/index.svelte @@ -36,19 +36,22 @@ let activeProfile: CleanProfile | null = null let activeProfileLastSave: number = 0 - - if (data.profiles) - for (const profile of data.profiles) { - if (profile.members) - for (const member of profile.members) { - if (member.uuid === data.player?.uuid && member.last_save > activeProfileLastSave) { - activeProfile = profile - activeProfileLastSave = member.last_save + let isActiveProfileOnline: boolean + + $: { + if (data.profiles) + for (const profile of data.profiles) { + if (profile.members) + for (const member of profile.members) { + if (member.uuid === data.player?.uuid && member.last_save > activeProfileLastSave) { + activeProfile = profile + activeProfileLastSave = member.last_save + } } - } - } + } - const isActiveProfileOnline = Date.now() / 1000 - 60 < activeProfileLastSave + isActiveProfileOnline = Date.now() / 1000 - 60 < activeProfileLastSave + } // cursed svelte :D $: bodyStyle = data.customization?.backgroundUrl |