diff --git a/resources/lang/en.json b/resources/lang/en.json index 9c534a0bb..1107a5e47 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -1271,7 +1271,8 @@ "adfree": "ad-free for life!", "hard": "Plutonium", "soft": "Caps", - "per_day": "/day" + "per_day": "/day", + "free": "+{numFree} BONUS!" }, "flag_input": { "title": "Select Flag", diff --git a/src/client/components/CosmeticButton.ts b/src/client/components/CosmeticButton.ts index 84fce3d23..039bb0fbc 100644 --- a/src/client/components/CosmeticButton.ts +++ b/src/client/components/CosmeticButton.ts @@ -112,7 +112,7 @@ export class CosmeticButton extends LitElement { const colorClass = isHard ? "text-green-400" : "text-amber-700"; const currencyKey = isHard ? "cosmetics.hard" : "cosmetics.soft"; return html`
${icon} ${translateText(currencyKey)} + ${pack.bonusAmount > 0 + ? html`
+ ${translateText("cosmetics.free", { + numFree: pack.bonusAmount.toLocaleString(), + })} +
` + : nothing}
`; } diff --git a/src/core/CosmeticSchemas.ts b/src/core/CosmeticSchemas.ts index 7b6c66f5c..704fc61a3 100644 --- a/src/core/CosmeticSchemas.ts +++ b/src/core/CosmeticSchemas.ts @@ -89,6 +89,7 @@ export const PackSchema = CosmeticSchema.extend({ displayName: z.string(), currency: z.enum(["hard", "soft"]), amount: z.number().int().positive(), + bonusAmount: z.number().int().nonnegative(), }); export const SubscriptionSchema = CosmeticSchema.extend({