Add message effects promo section.

This commit is contained in:
John Preston 2024-06-29 11:29:09 +04:00
parent 374b3c68ac
commit 4cafacc8db
8 changed files with 22 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -2195,6 +2195,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_premium_summary_about_translation" = "Real-time translation of channels and chats into other languages.";
"lng_premium_summary_subtitle_business" = "Telegram Business";
"lng_premium_summary_about_business" = "Upgrade your account with business features such as location, opening hours and quick replies.";
"lng_premium_summary_subtitle_effects" = "Message Effects";
"lng_premium_summary_about_effects" = "Add over 500 animated effects to private messages.";
"lng_premium_summary_bottom_subtitle" = "About Telegram Premium";
"lng_premium_summary_bottom_about" = "While the free version of Telegram already gives its users more than any other messaging application, **Telegram Premium** pushes its capabilities even further.\n\n**Telegram Premium** is a paid option, because most Premium Features require additional expenses from Telegram to third parties such as data center providers and server manufacturers. Contributions from **Telegram Premium** users allow us to cover such costs and also help Telegram stay free for everyone.";
"lng_premium_summary_button" = "Subscribe for {cost} per month";

View file

@ -131,6 +131,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_subtitle_translation();
case PremiumFeature::Business:
return tr::lng_premium_summary_subtitle_business();
case PremiumFeature::Effects:
return tr::lng_premium_summary_subtitle_effects();
case PremiumFeature::BusinessLocation:
return tr::lng_business_subtitle_location();
@ -192,6 +194,8 @@ void PreloadSticker(const std::shared_ptr<Data::DocumentMedia> &media) {
return tr::lng_premium_summary_about_translation();
case PremiumFeature::Business:
return tr::lng_premium_summary_about_business();
case PremiumFeature::Effects:
return tr::lng_premium_summary_about_effects();
case PremiumFeature::BusinessLocation:
return tr::lng_business_about_location();
@ -529,6 +533,7 @@ struct VideoPreviewDocument {
case PremiumFeature::Wallpapers: return "wallpapers";
case PremiumFeature::LastSeen: return "last_seen";
case PremiumFeature::MessagePrivacy: return "message_privacy";
case PremiumFeature::Effects: return "effects";
case PremiumFeature::BusinessLocation: return "business_location";
case PremiumFeature::BusinessHours: return "business_hours";

View file

@ -70,6 +70,7 @@ enum class PremiumFeature {
LastSeen,
MessagePrivacy,
Business,
Effects,
// Business features.
BusinessLocation,

View file

@ -95,6 +95,7 @@ settingsPremiumIconTags: icon {{ "settings/premium/tags", settingsIconFg }};
settingsPremiumIconLastSeen: icon {{ "settings/premium/lastseen", settingsIconFg }};
settingsPremiumIconPrivacy: icon {{ "settings/premium/privacy", settingsIconFg }};
settingsPremiumIconBusiness: icon {{ "settings/premium/market", settingsIconFg }};
settingsPremiumIconEffects: icon {{ "settings/premium/effects", settingsIconFg }};
settingsStoriesIconOrder: icon {{ "settings/premium/stories_order", premiumButtonBg1 }};
settingsStoriesIconStealth: icon {{ "menu/stealth", premiumButtonBg1 }};

View file

@ -197,6 +197,7 @@ using Order = std::vector<QString>;
u"animated_userpics"_q,
u"premium_stickers"_q,
u"business"_q,
u"effects"_q,
};
}
@ -377,6 +378,16 @@ using Order = std::vector<QString>;
true,
},
},
{
u"effects"_q,
Entry{
&st::settingsPremiumIconEffects,
tr::lng_premium_summary_subtitle_effects(),
tr::lng_premium_summary_about_effects(),
PremiumFeature::Effects,
true,
},
},
};
}
@ -1601,6 +1612,8 @@ std::vector<PremiumFeature> PremiumFeaturesOrder(
return PremiumFeature::RealTimeTranslation;
} else if (s == u"wallpapers"_q) {
return PremiumFeature::Wallpapers;
} else if (s == u"effects"_q) {
return PremiumFeature::Effects;
}
return PremiumFeature::kCount;
}) | ranges::views::filter([](PremiumFeature type) {