From e2b8058c77227008a3e950fd2717c4550c7e9801 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 15 Aug 2025 18:25:21 +0200 Subject: [PATCH] GiftInfoModal: Update upgrade button (#6101) --- src/assets/localization/fallback.strings | 2 ++ .../modals/gift/info/GiftInfoModal.module.scss | 6 ++++++ .../modals/gift/info/GiftInfoModal.tsx | 16 ++++++++++++++-- src/types/language.d.ts | 2 ++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/assets/localization/fallback.strings b/src/assets/localization/fallback.strings index d9e9c318a..c9f38d161 100644 --- a/src/assets/localization/fallback.strings +++ b/src/assets/localization/fallback.strings @@ -1439,6 +1439,7 @@ "GiftInfoPeerDescriptionOutConverted_one" = "{peer} converted this gift to **{amount}** Star."; "GiftInfoPeerDescriptionOutConverted_other" = "{peer} converted this gift to **{amount}** Stars."; "GiftInfoDescriptionFreeUpgrade" = "Upgrade this gift for free to turn it to a unique collectible."; +"GiftInfoDescriptionUpgrade" = "Upgrade this gift to turn it to a unique collectible."; "GiftInfoPeerDescriptionFreeUpgradeOut" = "{peer} can turn this gift to a unique collectible"; "GiftInfoDescriptionUpgraded" = "This gift was turned into a unique collectible."; "GiftInfoFrom" = "From"; @@ -1487,6 +1488,7 @@ "GiftInfoViewUpgraded" = "View Upgraded Gift"; "GiftInfoUpgradeBadge" = "upgrade"; "GiftInfoUpgradeForFree" = "Upgrade For Free"; +"GiftInfoUpgrade" = "Upgrade"; "GiftInfoWithdraw" = "Withdraw"; "GiftInfoWear" = "Wear"; "GiftInfoTakeOff" = "Take Off"; diff --git a/src/components/modals/gift/info/GiftInfoModal.module.scss b/src/components/modals/gift/info/GiftInfoModal.module.scss index a997a24eb..8e35f5438 100644 --- a/src/components/modals/gift/info/GiftInfoModal.module.scss +++ b/src/components/modals/gift/info/GiftInfoModal.module.scss @@ -16,6 +16,12 @@ color: var(--color-text-secondary); } +.upgradeIcon { + transform: rotateX(180deg); + margin-left: 0.25rem; + font-size: 1.25rem; +} + .header { display: flex; flex-direction: column; diff --git a/src/components/modals/gift/info/GiftInfoModal.tsx b/src/components/modals/gift/info/GiftInfoModal.tsx index 3acd69da7..02eeadd63 100644 --- a/src/components/modals/gift/info/GiftInfoModal.tsx +++ b/src/components/modals/gift/info/GiftInfoModal.tsx @@ -272,6 +272,16 @@ const GiftInfoModal = ({ return ( + ); + } + + if (canManage && savedGift.canUpgrade && !savedGift.upgradeMsgId) { + return ( + ); } @@ -316,7 +326,10 @@ const GiftInfoModal = ({ if (isTargetChat) return undefined; if (savedGift.upgradeMsgId) return lang('GiftInfoDescriptionUpgraded'); - if (savedGift.canUpgrade && savedGift.alreadyPaidUpgradeStars) { + if (canManage && savedGift.canUpgrade && savedGift.alreadyPaidUpgradeStars && !savedGift.upgradeMsgId) { + return lang('GiftInfoDescriptionUpgrade'); + } + if (savedGift.canUpgrade && canManage) { return canManage ? lang('GiftInfoDescriptionFreeUpgrade') : lang('GiftInfoPeerDescriptionFreeUpgradeOut', { peer: getPeerTitle(lang, renderingTargetPeer!)! }); @@ -547,7 +560,6 @@ const GiftInfoModal = ({ lang('GiftInfoStatus'),
{lang('GiftInfoStatusNonUnique')} - {canManage && {lang('GiftInfoUpgradeBadge')}}
, ]); } diff --git a/src/types/language.d.ts b/src/types/language.d.ts index d20b25d8c..dff70377d 100644 --- a/src/types/language.d.ts +++ b/src/types/language.d.ts @@ -1208,6 +1208,7 @@ export interface LangPair { 'GiftInfoDescriptionRegular': undefined; 'GiftInfoDescriptionUpgradeRegular': undefined; 'GiftInfoDescriptionFreeUpgrade': undefined; + 'GiftInfoDescriptionUpgrade': undefined; 'GiftInfoDescriptionUpgraded': undefined; 'GiftInfoFrom': undefined; 'GiftInfoDate': undefined; @@ -1234,6 +1235,7 @@ export interface LangPair { 'GiftInfoViewUpgraded': undefined; 'GiftInfoUpgradeBadge': undefined; 'GiftInfoUpgradeForFree': undefined; + 'GiftInfoUpgrade': undefined; 'GiftInfoWithdraw': undefined; 'GiftInfoWear': undefined; 'GiftInfoTakeOff': undefined;