diff --git a/src/renderCard.tsx b/src/renderCard.tsx index 31f99e5..dad8d3c 100644 --- a/src/renderCard.tsx +++ b/src/renderCard.tsx @@ -46,7 +46,6 @@ const renderCard = async (body: LanyardTypes.Root, params: Parameters): Promise< let { data } = body; let avatarBorderColor: string = "#747F8D", - userStatus: string = "", avatarExtension: string = "webp", statusExtension: string = "webp", activity: any = false, @@ -123,13 +122,13 @@ const renderCard = async (body: LanyardTypes.Root, params: Parameters): Promise< let flags: string[] = getFlags(data.discord_user.public_flags); if (data.discord_user.avatar && data.discord_user.avatar.includes("a_")) flags.push("Nitro"); - if (data.activities[0] && data.activities[0].state && data.activities[0].type === 4) - userStatus = data.activities[0].state; + let userStatus: Record | null = null; + if (data.activities[0] && data.activities[0].type === 4) userStatus = data.activities[0]; - // filter only type 0 + // Filter only type 0 const activities = data.activities.filter(activity => activity.type === 0); - // take the highest one + // Take the highest one activity = Array.isArray(activities) ? activities[0] : activities; return ` @@ -186,7 +185,7 @@ const renderCard = async (body: LanyardTypes.Root, params: Parameters): Promise< display: flex; flex-direction: row; position: relative; - top: ${userStatus.length > 0 && hideStatus !== "true" ? "35%" : "50%"}; + top: ${userStatus && hideStatus !== "true" ? "35%" : "50%"}; transform: translate(0, -50%); height: 25px; "> @@ -217,7 +216,7 @@ const renderCard = async (body: LanyardTypes.Root, params: Parameters): Promise< } ${ - userStatus.length > 0 && hideStatus !== "true" ? ` + userStatus && hideStatus !== "true" ? `

${ - data.activities[0].emoji && data.activities[0].emoji.id ? ` + userStatus.emoji?.id ? ` ` : `` + " />` : '' } ${ - data.activities[0].emoji && !data.activities[0].emoji.id - ? data.activities[0].emoji.name + " " + escape(userStatus) - : escape(userStatus) + userStatus.state && userStatus.emoji?.name && !userStatus.emoji.id + ? `${userStatus.emoji.name} ${escape(userStatus.state)}` + : userStatus.state + ? escape(userStatus.state) + : !userStatus.state && userStatus.emoji?.name && !userStatus.emoji.id + ? escape(userStatus.emoji.name) + : '' }

` : `` } @@ -267,7 +270,7 @@ const renderCard = async (body: LanyardTypes.Root, params: Parameters): Promise< height: auto; "> ${ - activity.assets && activity.assets.large_image ? ` + activity.assets?.large_image ? ` `} ${ - activity.assets && activity.assets.small_image ? ` + activity.assets?.small_image ? ` ${escape(activity.state)}${ - activity.party && activity.party.size + activity.party?.size ? ` (${activity.party.size[0]} of ${activity.party.size[1]})` : "" }

` : `` } ${ - activity.timestamps && activity.timestamps.start && hideTimestamp !== "true" ? ` + activity.timestamps?.start && hideTimestamp !== "true" ? `