diff --git a/src/pages/Referral.tsx b/src/pages/Referral.tsx index 24ca797..b5d50d2 100644 --- a/src/pages/Referral.tsx +++ b/src/pages/Referral.tsx @@ -302,37 +302,56 @@ export default function Referral() { {/* Program Terms */} - {terms && ( -
-

{t('referral.terms.title')}

-
-
-
{t('referral.terms.commission')}
-
- {terms.commission_percent}% + {terms && + (() => { + const showNewUserBonus = terms.first_topup_bonus_kopeks > 0; + const showInviterBonus = terms.inviter_bonus_kopeks > 0; + const cardCount = 2 + (showNewUserBonus ? 1 : 0) + (showInviterBonus ? 1 : 0); + const gridCols = + cardCount <= 2 + ? 'md:grid-cols-2' + : cardCount === 3 + ? 'md:grid-cols-3' + : 'md:grid-cols-4'; + + return ( +
+

+ {t('referral.terms.title')} +

+
+
+
{t('referral.terms.commission')}
+
+ {terms.commission_percent}% +
+
+
+
{t('referral.terms.minTopup')}
+
+ {formatAmount(terms.minimum_topup_rubles)} {currencySymbol} +
+
+ {showNewUserBonus && ( +
+
{t('referral.terms.newUserBonus')}
+
+ {formatPositive(terms.first_topup_bonus_rubles)} +
+
+ )} + {showInviterBonus && ( +
+
{t('referral.terms.inviterBonus')}
+
+ {formatPositive(terms.inviter_bonus_rubles)} +
+
+ )}
-
-
{t('referral.terms.minTopup')}
-
- {formatAmount(terms.minimum_topup_rubles)} {currencySymbol} -
-
-
-
{t('referral.terms.newUserBonus')}
-
- {formatPositive(terms.first_topup_bonus_rubles)} -
-
-
-
{t('referral.terms.inviterBonus')}
-
- {formatPositive(terms.inviter_bonus_rubles)} -
-
-
-
- )} + ); + })()} {/* Referrals List */}
diff --git a/src/types/index.ts b/src/types/index.ts index dc81781..08ddb30 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -437,6 +437,7 @@ export interface ReferralTerms { first_topup_bonus_rubles: number; inviter_bonus_kopeks: number; inviter_bonus_rubles: number; + max_commission_payments: number; partner_section_visible?: boolean; }