aboutsummaryrefslogtreecommitdiff
path: root/src/lib/sections/Slayers.svelte
blob: 40fa67d35616d00de1efec5fa806ab4542f6a714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<script lang="ts">
	import type { CleanMemberProfile } from '$lib/APITypes'
	import { cleanId, toRomanNumerals } from '$lib/utils'

	export let data: CleanMemberProfile
</script>

{#if data.member.slayers}
	<div class="slayer-info-text total-slayer-info-text">
		<p>Xp: <b>{data.member.slayers.xp}</b></p>
		<p>Kills: <b>{data.member.slayers.kills}</b></p>
	</div>
	<div class="slayers-list">
		{#each data.member.slayers.bosses as slayer}
			<div class="individual-slayer-data">
				<h3>{slayer.name ? cleanId(slayer.name) : cleanId(slayer.rawName)}</h3>
				<div class="slayer-info-text">
					<p>Xp: <b>{slayer.xp.toLocaleString()}</b></p>
					<p>Level: <b>{slayer.level}</b></p>
				</div>
				<table>
					<tr>
						{#each slayer.tiers as tier}
							<th>Tier {toRomanNumerals(tier.tier)}</th>
						{/each}
					</tr>
					<tr>
						{#each slayer.tiers as tier}
							<td class="slayer-tier-kills">
								{tier.kills.toLocaleString()}
							</td>
						{/each}
					</tr>
				</table>
			</div>
		{/each}
	</div>
{/if}

<style>
	p {
		margin: 0;
	}

	.total-slayer-info-text {
		margin: 0.5em 0;
	}

	.slayer-tier-kills {
		text-align: center;
	}

	.slayer-info-text {
		color: var(--theme-darker-text);
	}
	.slayer-info-text b {
		color: var(--theme-main-text);
	}

	.individual-slayer-data {
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: rgba(0, 0, 0, 0.1);
		padding: 0.75em;
		border-radius: 1em;
	}

	.slayers-list {
		display: flex;
		flex-wrap: wrap;
		max-width: 40rem;
		column-gap: 0.5rem;
		row-gap: 0.5rem;
	}
</style>