aboutsummaryrefslogtreecommitdiff
path: root/src/lib/sections/Zones.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/sections/Zones.svelte')
-rw-r--r--src/lib/sections/Zones.svelte38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/sections/Zones.svelte b/src/lib/sections/Zones.svelte
new file mode 100644
index 0000000..428ab79
--- /dev/null
+++ b/src/lib/sections/Zones.svelte
@@ -0,0 +1,38 @@
+<script lang="ts">
+ import type { CleanMemberProfile } from '$lib/APITypes'
+ import { cleanId, toRomanNumerals } from '$lib/utils'
+
+ export let data: CleanMemberProfile
+
+ let zonesVisitedCount = data.member.visited_zones
+ ? data.member.visited_zones?.filter(z => z.visited).length
+ : 0
+</script>
+
+{#if data.member.visited_zones}
+ <p class="zones-visited-text">
+ <span class="zones-visited-number">
+ <b>{zonesVisitedCount}</b>/{data.member.visited_zones.length} zones visited
+ </span>
+ </p>
+ <ul>
+ {#each data.member.visited_zones.filter(z => z.visited) as zone}
+ <li>{cleanId(zone.name)}</li>
+ {/each}
+ {#each data.member.visited_zones.filter(z => !z.visited) as zone}
+ <li class="unvisited-zone">{cleanId(zone.name)}</li>
+ {/each}
+ </ul>
+{/if}
+
+<style>
+ .zones-visited-text {
+ color: var(--theme-darker-text);
+ }
+ .zones-visited-number {
+ color: var(--theme-main-text);
+ }
+ .unvisited-zone {
+ opacity: 0.5;
+ }
+</style>