diff options
| author | mat <github@matdoes.dev> | 2022-02-15 03:05:09 +0000 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2022-02-15 03:05:09 +0000 |
| commit | fcabd988bd9b98eb5afda600345e14a302fbd4ee (patch) | |
| tree | 069724e9e0b3543d33fe1ee73f1523cf13b2e1f7 /src/routes | |
| parent | ffe5eea0ce73cae8657c547f881b6f41270fef37 (diff) | |
| download | skyblock-stats-fcabd988bd9b98eb5afda600345e14a302fbd4ee.tar.gz skyblock-stats-fcabd988bd9b98eb5afda600345e14a302fbd4ee.tar.bz2 skyblock-stats-fcabd988bd9b98eb5afda600345e14a302fbd4ee.zip | |
add stuff
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/player/[player].svelte | 83 | ||||
| -rw-r--r-- | src/routes/player/index.ts | 12 |
2 files changed, 95 insertions, 0 deletions
diff --git a/src/routes/player/[player].svelte b/src/routes/player/[player].svelte new file mode 100644 index 0000000..7fcc39e --- /dev/null +++ b/src/routes/player/[player].svelte @@ -0,0 +1,83 @@ +<script lang="ts" context="module"> + import { get } from '$lib/api' + import type { Load } from '@sveltejs/kit' + export const load: Load = async ({ params, fetch }) => { + const player: string = params.player + // if (browser) alert('doing get') + const res = await fetch(`https://skyblock-api.matdoes.dev/player/${player}`).then(r => r.json()) + // const res = await get(`player/${player}`) + return { + props: { + data: res, + }, + } + } +</script> + +<script lang="ts"> + import Head from '$lib/Head.svelte' + import Header from '$lib/Header.svelte' + import { browser } from '$app/env' + import Username from '$lib/Username.svelte' + + export let data + + let activeProfile = null + let activeProfileLastSave: number +</script> + +<Head title="{data.player.username}'s SkyBlock profiles" /> +<Header /> + +<svelte:head> + {#if data.customization?.backgroundUrl} + <style> + body:before { + content: ''; + display: block; + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 100%; + z-index: -10; + background: url('{data.customization.backgroundUrl}') no-repeat center center; + background-size: cover; + } + </style> + {/if} +</svelte:head> + +<!-- {% endblock %} +{%- block main -%} + <h1>{{ render.username(data.player, headType='3d') }}'s profiles</h1> +{%- set activeProfile = null -%} +{%- set activeProfileLastSave = 0 -%} +{%- for profile in data.profiles -%} +{%- for member in profile.members -%} +{%- if member.uuid == data.player.uuid and member.last_save > activeProfileLastSave -%} +{%- set activeProfile = profile -%} +{%- set activeProfileLastSave = member.last_save -%} +{%- endif -%} +{%- endfor -%} +{%- endfor -%} +{%- set activeProfileOnline = getTime() - 60 < activeProfileLastSave -%} + <ul class="profile-list"> +{%- for profile in data.profiles -%} + <li class="profile-list-item{% if profile.uuid == activeProfile.uuid %} profile-list-item-active{% if activeProfileOnline %} profile-list-item-online{% endif %}{% endif %}"> + <a class="profile-name" href="/player/{{ data.player.username }}/{{ profile.name }}">{{ profile.name }}</a> +{#- This comment is necessary to remove the space between the profile name and the user list :) -#} + <span class="profile-members"> +{%- if profile.members|length > 1 %}{% for player in profile.members -%} +{#- don't unnecessarily hyperlink to the page it's already o -#} +{%- set hyperlinkToProfile = player.uuid != data.player.uuid -%} +{{- render.username(player, headType='2d', hyperlinkToProfile=hyperlinkToProfile) -}} +{%- endfor -%} +{%- else %}Solo{% endif -%} + </span> + </li> +{%- endfor -%} + <ul> +{%- endblock -%} --> + +<h1><Username player={data.player} headType="3d" />'s profiles</h1> diff --git a/src/routes/player/index.ts b/src/routes/player/index.ts new file mode 100644 index 0000000..6c36cd8 --- /dev/null +++ b/src/routes/player/index.ts @@ -0,0 +1,12 @@ +export async function post({ request }) { + const form = await request.formData() + + const player = form.get('user-search') + + return { + status: 303, + headers: { + location: `/player/${player}` + } + }; +}
\ No newline at end of file |
