aboutsummaryrefslogtreecommitdiff
path: root/src/lib/sections
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-02-21 00:56:55 -0600
committermat <github@matdoes.dev>2022-02-21 00:56:55 -0600
commit34fcffb95db91bc1db80a00af4cf9d1007a9f575 (patch)
tree79b770b455b7468de31eded91da0d45fc172fd9f /src/lib/sections
parent13e5974114f759bae73f3bfd68c62ce9cfaf785e (diff)
downloadskyblock-stats-34fcffb95db91bc1db80a00af4cf9d1007a9f575.tar.gz
skyblock-stats-34fcffb95db91bc1db80a00af4cf9d1007a9f575.tar.bz2
skyblock-stats-34fcffb95db91bc1db80a00af4cf9d1007a9f575.zip
add minions and loader thing
Diffstat (limited to 'src/lib/sections')
-rw-r--r--src/lib/sections/Armor.svelte11
-rw-r--r--src/lib/sections/Minions.svelte52
-rw-r--r--src/lib/sections/StatList.svelte2
3 files changed, 60 insertions, 5 deletions
diff --git a/src/lib/sections/Armor.svelte b/src/lib/sections/Armor.svelte
index ab0e73b..655de31 100644
--- a/src/lib/sections/Armor.svelte
+++ b/src/lib/sections/Armor.svelte
@@ -1,9 +1,12 @@
<script lang="ts">
+ import type { CleanMemberProfile } from '$lib/APITypes'
import Inventory from '$lib/minecraft/Inventory.svelte'
- export let data
+ export let data: CleanMemberProfile
export let pack
</script>
-<span>
- <Inventory items={data.member.inventories.armor} name="armor" groupLimit={1} {pack} />
-</span>
+{#if data.member.inventories}
+ <span>
+ <Inventory items={data.member.inventories.armor} name="armor" groupLimit={1} {pack} />
+ </span>
+{/if}
diff --git a/src/lib/sections/Minions.svelte b/src/lib/sections/Minions.svelte
new file mode 100644
index 0000000..2e4483c
--- /dev/null
+++ b/src/lib/sections/Minions.svelte
@@ -0,0 +1,52 @@
+<script lang="ts">
+ import type { CleanMemberProfile } from '$lib/APITypes'
+ import { cleanId, toRomanNumerals } from '$lib/utils'
+
+ export let data: CleanMemberProfile
+</script>
+
+<p class="unique-minions-text">
+ Unique minions:
+ <span class="minions-fraction">
+ <b>{data.profile.minion_count}</b>/{data.profile.maxUniqueMinions}
+ </span>
+</p>
+<table>
+ {#each data.profile.minions as minion}
+ <tr>
+ <th>{cleanId(minion.name)}</th>
+ {#each minion.levels as unlocked, i}
+ <td class="minions-table" class:unlocked>
+ {toRomanNumerals(i)}
+ </td>
+ {/each}
+ </tr>
+ {/each}
+</table>
+
+<!--
+<p class="darker-text">Unique minions: <span class="main-text"><b>{{ data.profile.minion_count }}</b>/{{ getConstants().max_minions }}</span></p>
+<table>
+{%- for minion in data.profile.minions -%}
+ <tr>
+ <th>{{ minion.name|clean }}</th>
+ {%- for unlocked in minion.levels -%}
+ <td class="minions-table-{% if unlocked %}unlocked{% else %}locked{% endif %}">{{ loop.index|romanNumerals }}</td>
+ {%- endfor -%}
+ </tr>
+{%- endfor -%}
+</table> -->
+<style>
+ .unique-minions-text {
+ color: var(--theme-darker-text);
+ }
+ .minions-fraction {
+ color: var(--theme-main-text);
+ }
+ .minions-table:not(.unlocked) {
+ opacity: 0.2;
+ }
+ .minions-table.unlocked {
+ color: #3e3;
+ }
+</style>
diff --git a/src/lib/sections/StatList.svelte b/src/lib/sections/StatList.svelte
index 266ceb3..901d853 100644
--- a/src/lib/sections/StatList.svelte
+++ b/src/lib/sections/StatList.svelte
@@ -11,7 +11,7 @@
</script>
<ul>
- {#each stats as stat}
+ {#each stats.sort((a, b) => b.value - a.value) as stat}
<li class:total-stat={stat.categorizedName === 'total'}>
<span class="stat-name">{cleanId(stat.categorizedName)}</span>:
{#if stat.unit === 'time'}