aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/APITypes.d.ts59
-rw-r--r--src/lib/ListItemWithIcon.svelte4
-rw-r--r--src/lib/Toc.svelte4
-rw-r--r--src/lib/sections/Collections.svelte2
4 files changed, 47 insertions, 22 deletions
diff --git a/src/lib/APITypes.d.ts b/src/lib/APITypes.d.ts
index 926072c..983fb61 100644
--- a/src/lib/APITypes.d.ts
+++ b/src/lib/APITypes.d.ts
@@ -8,23 +8,26 @@ export interface CleanMemberProfile {
}
export interface CleanMemberProfilePlayer extends CleanPlayer {
- // The profile name may be different for each player, so we put it here
- profileName: string
- firstJoin: number
- lastSave: number
- purse: number
- stats: StatItem[]
- rawHypixelStats: { [key: string]: number }
- minions: CleanMinion[]
- fairySouls: FairySouls
- inventories?: Inventories
- objectives: Objective[]
- skills: Skill[]
- zones: Zone[]
- collections: Collection[]
- slayers: SlayerData
- pets: PetsData
- harp: HarpData
+ profileName: string;
+ firstJoin: number | null;
+ lastSave: number | null;
+ purse: number;
+ stats: StatItem[];
+ rawHypixelStats: {
+ [key: string]: number;
+ };
+ minions: CleanMinion[];
+ fairySouls: FairySouls;
+ inventories?: Inventories;
+ objectives: Objective[];
+ skills: Skill[];
+ zones: Zone[];
+ collections: Collection[];
+ slayers: SlayerData;
+ pets: PetsData;
+ harp: HarpData;
+ coopInvitation: CoopInvitation | null;
+ farmingContests: FarmingContests;
}
export interface CleanMember extends CleanBasicMember {
@@ -315,3 +318,25 @@ export interface ItemListData {
lastUpdated: number
list: ItemListItem[]
}
+
+export interface PlayerFarmingContestStats {
+ year: number;
+ month: number;
+ day: number;
+ crops: {
+ item: string;
+ amount: number;
+ /** The position (1-indexed) that the user got on the contest. */
+ position: number | null;
+ /** Whether the player has claimed their rewards. */
+ claimed: boolean | null;
+ /**
+ * The number of people who participated in this contest.
+ */
+ participants: number | null;
+ }[];
+}
+export interface FarmingContests {
+ talkedToJacob: boolean;
+ list: PlayerFarmingContestStats[];
+}
diff --git a/src/lib/ListItemWithIcon.svelte b/src/lib/ListItemWithIcon.svelte
index 7666c18..81e9bb5 100644
--- a/src/lib/ListItemWithIcon.svelte
+++ b/src/lib/ListItemWithIcon.svelte
@@ -1,10 +1,10 @@
<script lang="ts">
- export let url: string
+ export let src: string
export let alt: string | undefined = undefined
</script>
<li class="list-item-with-icon">
- <img class="list-item-icon" src={url} {alt} loading="lazy" />
+ <img class="list-item-icon" {src} {alt} loading="lazy" />
<slot />
</li>
diff --git a/src/lib/Toc.svelte b/src/lib/Toc.svelte
index cced057..882ebdd 100644
--- a/src/lib/Toc.svelte
+++ b/src/lib/Toc.svelte
@@ -1,5 +1,5 @@
<script lang="ts">
- import { cleanId } from './utils'
+ import { cleanId, toTitleCase } from './utils'
export let categories: string[]
</script>
@@ -8,7 +8,7 @@
<h3>Contents</h3>
<ul>
{#each categories as category}
- <li><a href="#{category}">{cleanId(category)}</a></li>
+ <li><a href="#{category.replace(/[ _]/, '-')}">{toTitleCase(cleanId(category))}</a></li>
{/each}
</ul>
</div>
diff --git a/src/lib/sections/Collections.svelte b/src/lib/sections/Collections.svelte
index 8551bf4..4baa660 100644
--- a/src/lib/sections/Collections.svelte
+++ b/src/lib/sections/Collections.svelte
@@ -24,7 +24,7 @@
<ul>
{#each collections as collection}
<ListItemWithIcon
- url={skyblockItemToUrl(collection.name, pack)}
+ src={skyblockItemToUrl(collection.name, pack)}
alt={cleanId(collection.name)}
>
<Tooltip>