diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/APITypes.d.ts | 5 | ||||
-rw-r--r-- | src/lib/profile.ts | 11 |
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)}`) |