From 6c7a677057d2bb297e1311c15bd445640fcda56b Mon Sep 17 00:00:00 2001 From: jwinterm Date: Fri, 10 Jul 2026 16:29:27 -0400 Subject: [PATCH] feat(ui): buy modal frames direct entry as '1 credit' + payout-honest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The single-game option now reads 'Single game · 1 credit' and notes it counts toward cosmetic unlocks (matching the backend: a direct entry advances total_credits_purchased). Fixes the direct payout copy to only show multipliers when payouts are actually enabled (was defaulting on). --- html/js/ui/paymentUI.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/html/js/ui/paymentUI.js b/html/js/ui/paymentUI.js index 5f27295..22477f7 100644 --- a/html/js/ui/paymentUI.js +++ b/html/js/ui/paymentUI.js @@ -200,7 +200,10 @@ const PaymentUI = { if (this.config.directModeEnabled) { const price = this.config.singleGamePriceFormatted || this.formatPrice(this.config.singleGamePrice); const multipliers = this.config.payoutMultipliers?.direct || { escape: 2, escapeWithTreasure: 3 }; - const directPayoutsEnabled = this.config.directPayoutsEnabled !== false; + // Payout-honest: only show multipliers when payouts are actually on (default off, not on). + const directPayoutsEnabled = this.config.directPayoutsEnabled != null + ? !!this.config.directPayoutsEnabled + : !!this.config.payoutsEnabled; let payoutInfo = ''; if (directPayoutsEnabled) { @@ -214,12 +217,13 @@ const PaymentUI = { $container.append(`
- ⚡ Single Game + ⚡ Single game · 1 credit ${price} ${currency}
-
+
${payoutInfo}
+
Counts as 1 credit toward cosmetic unlocks.