aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-04-09 19:59:32 -0500
committermat <github@matdoes.dev>2022-04-09 19:59:32 -0500
commit96f14531c02e9b45f113495218bc6be1016a9ad7 (patch)
tree7076b05de5d26dee64bc5f5e3808271b8a9636a6 /src/lib
parent1ef948bd4038a0b6f03871648571474296453d8f (diff)
downloadskyblock-stats-96f14531c02e9b45f113495218bc6be1016a9ad7.tar.gz
skyblock-stats-96f14531c02e9b45f113495218bc6be1016a9ad7.tar.bz2
skyblock-stats-96f14531c02e9b45f113495218bc6be1016a9ad7.zip
Include mode in profile list
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/APITypes.d.ts5
-rw-r--r--src/lib/profile.ts11
2 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/APITypes.d.ts b/src/lib/APITypes.d.ts
index bb0cd25..65e70f3 100644
--- a/src/lib/APITypes.d.ts
+++ b/src/lib/APITypes.d.ts
@@ -111,7 +111,8 @@ export interface CleanUser {
}
export interface CleanProfile extends CleanBasicProfile {
- members?: CleanBasicMember[]
+ members: CleanBasicMember[]
+ mode: GameMode
}
/** A basic profile that only includes the profile uuid and name */
@@ -346,3 +347,5 @@ export interface CoopInvitation {
accepted: boolean
acceptedTimestamp: number | null
}
+
+export type GameMode = 'normal' | 'stranded' | 'bingo' | 'ironman'
diff --git a/src/lib/profile.ts b/src/lib/profile.ts
index ceeac77..106e261 100644
--- a/src/lib/profile.ts
+++ b/src/lib/profile.ts
@@ -11,12 +11,23 @@ export function prettyTimestamp(ms: number) {
return timeAsString
}
+export const MODE_EMOJIS = {
+ ironman: '♻️',
+ stranded: '🏝️'
+}
+export const DEFAULT_MODE_EMOJI = '❓'
+
export function generateInfobox(data: CleanMemberProfile): string[] {
const result: string[] = []
if (data.member.left)
result.push(`🚪 Removed from profile`)
+ if (data.profile.mode !== 'normal') {
+ const modeEmoji = MODE_EMOJIS[data.profile.mode] ?? DEFAULT_MODE_EMOJI
+ result.push(`${modeEmoji} Mode: ${cleanId(data.profile.mode)}`)
+ }
+
if (data.member.lastSave)
result.push(`💾 Last save: ${prettyTimestamp(data.member.lastSave)}`)